没有找到这样的文件或目录,并没有解决包含
问题描述:
#include<Snap.h>
using namespace std;
void main()
{
PNGraph Graph=TNGraph::New();
Graph->AddNode(1);
Graph->AddNode(2);
Graph->AddEdge(1,2);
}
12:16:09 **** Rebuild of configuration Debug for project Graph ****
Info: Internal Builder is used for build
g++ "-IE:\\Snap-3.0\\snap-core" "-includeE:\\Snap-3.0\\snap-core" -O0 -g3 -Wall -c -fmessage-length=0 -o Graph.o "..\\Graph.cpp"
cc1plus.exe: fatal error: E:\Snap-3.0\snap-core: No such file or directory
compilation terminated.
我想添加我的Snap.h
库我都做了路径库符号和链接路径的一切,但没有运气。没有找到这样的文件或目录,并没有解决包含
答
健全检查第一:你有一个目录E:\管理单元3.0 \扣核心和它确实包含Snap.h?
因为这样,这里是你最有可能的罪魁祸首:-includeE:\Snap-3.0\snap-core
。根据GCC documentation:
-include file
Process file as if #include "file" appeared as the first line of the primary source file.
这可能不是你想要的。 -IE:\Snap-3.0\snap-core
就足以将该目录添加到包含搜索路径。
尝试从命令行中删除-include
选项并查看它是否有效。但我不能告诉你究竟如何,因为我不熟悉Eclipse。
---下面的评论更新---
现在编译工作,但链接器找不到库。这通常是如何设置-L
和-l
(小写L)选项的问题。他们设置起来可能有点棘手。
-L
应指向您的库所在的lib目录。对于Windows,这是.a
文件所在的位置。
-l
指定已删除共同前缀/后缀的库的名称:如果您有libsnap.a
选项应为-lsnap
。您也可以尝试访问.a
文件的完整路径。
如果您有多个-l
选项,请记住它们的顺序可能很重要。
关闭当然有-lE:Snap-3.0 \ snap-core并且当然有Snap.h头文件,我的GCC链接与您给出的路径相同-lE:Snap-3.0 \ snap-core仍然不起作用感谢您的回复 –
我做了你所说的但现在问题来到这里13:47:02 ****增量构建配置调试项目图**** 信息:内部构建器用于构建 g ++“ -LE:\\ Snap-3.0 \\ snap-core“ C:/ MingGW/bin /../ lib/gcc/x86_64-w64-mingw32/5.1.0 /../../../../ x86_64-w64-mingw32/bin/ld.exe:找不到-lE:\ Snap-3.0 \ snap-core collect2.exe:错误:ld返回1退出状态 –
更新了我的答案。 – besc