Linux服务器(C项目)上的编译错误

问题描述 投票:0回答:1

我需要一些帮助。

我在本地从事一个C项目,它运行得很完美,没有任何问题。然后,我将整个项目文件移至Linux服务器(使用Bitwise),并使用以下命令运行它:

gcc -g -std=c99 -Wall -pedantic-errors -Werror -DNDEBUG main.c map.c map.h utilities.c 
utilities.h election.c election.h extended_map.c extended_map.h test_utilities.h -o outmap

同样,一切都按预期进行。

[现在,我想用保存在该服务器上的版本替换test_utilities.h的版本,所以我打开了main.c(这是唯一包含test_utilities.h并被替换的文件:

#include "test_utilities.h" 

#include "~mtm/public/1920b/ex1/test_utilities.h"

但是终端显示了以下错误:

gcc: error: test_utilities.h: No such file or directory
-bash-4.2$
c linux gcc compiler-errors include
1个回答
1
投票

编写~mtm以引用用户mtm的主目录是您的Shell可以理解的快捷方式。这不是C预处理器可以理解的。因此,您必须将其拼写为/home/mtm(或mtm主目录所在的位置),而不是~mtm

也就是说,更好的方法是将其保留为"test_utilities.h",而是调整编译器的包含路径(调用编译器时通过-I指定)以包含~mtm/public/1920b/ex1/

© www.soinside.com 2019 - 2024. All rights reserved.