2014-06-24 140 views
0

我正在嘗試使用Netbeans編譯C++應用程序。這是我在一段時間內建立的第一個C++應用程序。令我驚訝的是,我設置了一個環境並配置了包括Netbeans,Mingw和Msys在內的所有東西;我試圖編譯時遇到的問題是文件註釋找到錯誤。下面的錯誤信息表明這個不存在,但我可以在Windows文件系統以及Netbeans中輕鬆導航到它,因爲它是該項目的一部分。毫無疑問,我忽略了一些簡單的步驟。該文件是Boost API的一部分,它的根文件夾位於我項目的文件夾中,該文件夾又被包含爲我的項目的源文件夾(在Options下)。試圖編譯C++應用程序,找不到頭文件

g++ -c -g -MMD -MP -MF "build/Debug/MinGW-Windows/addrman.o.d" -o build/Debug/MinGW-  Windows/addrman.o addrman.cpp 
In file included from netbase.h:10:0, 
      from addrman.h:7, 
      from addrman.cpp:5: 
serialize.h:19:48: fatal error: boost/type_traits/is_fundamental.hpp: No such file or  directory 
#include <boost/type_traits/is_fundamental.hpp> 

此說明和錯誤消息是否有足夠的信息?預先感謝您的幫助。 ^

+1

無處沒有你提到你的'include'搜索路徑設置爲。如果你可以在你的機器上找到它並不重要 - 編譯器也必須找到它,如果'include'搜索路徑沒有指明'boost'頭文件的位置,那麼它不能這樣做。 – PaulMcKenzie

+0

你試圖使用什麼特定的Boost庫? – HEKTO

+0

Boost 1.55是該版本。 – Gedalya

回答

0

您必須告訴NetBeans有關Boost包含目錄。打開項目屬性彈出窗口,轉到「Build - > C++ Compiler」,並將目錄添加到「Include Directories」行。該彈出窗口應該是這樣的:

enter image description here

2

您的編譯器,g ++在這種情況下,由於它們位於非標準位置,找不到頭文件。您需要使用-I標誌來告訴gcc在何處查找包含文件。

如果你有,說你升壓目錄,C:\libraries\boost那麼你就需要將以下添加到您的編譯行-IC:\libraries\(我建議把提高這樣一些地方,所以你可以在多個項目中輕鬆地使用它)。

我不使用netbeans,但我會想象有一個地方可以指定額外的包含目錄(以及庫目錄)。

+0

我嘗試在Netbeans中使用'其他[命令行]選項':-IC:\ local \ boost_1_55_0 \並且它不起作用。 – Gedalya