2016-11-20 3 views
0
#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ライブラリを追加したい私は、すべてのパスのライブラリシンボルとリンクパスすべてを与えるが、運を持っていないんでした。そのようなファイルやディレクトリはありません発見し、インクルージョン

答えて

0

健全性チェック最初:あなたはディレクトリ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オプションがある場合は、その順序が重要である可能性があることに注意してください。

+0

もちろん、-lE:Snap-3.0 \ snap-coreであり、もちろんSnap.hヘッダーがあり、GCCリンクにも同じパスがあります。-lE:Snap-3.0 \ snap-coreはまだ動作しませんお返事ありがとうございます –

+0

私はあなたの言ったことをしましたが、ここで問題が発生しました13:47:02 ****コンフィグレーションの増分ビルドプロジェクトグラフのデバッグ**** Info:ビルドに内部ビルダーが使用されています g ++ " -LE:¥¥Snap-3.0¥¥snap-core "-o Graph.exe Graph.o" -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終了ステータスを返しました –

+0

私の答えを更新しました。 – besc

関連する問題