2016-11-03 130 views
0

我已將一個外部程序包調用SoPlex(.cpp.h文件和庫文件的文件夾)包含到我的OMNet ++項目中。我已經在Code :: Blocks IDE中測試了這個包,除了一些警告:warning: explicit conversion operators only available with -std=c++11 or -std=gnu++11之外,它還可以正常工作。爲什麼OMNet ++編譯器爲預編譯包獲取錯誤?

它肯定是在Code :: Blocks IDE中工作。但是,當我想在我的OMNeT ++項目中使用它,它給出了SoPlex包了很多錯誤,像圖片: Error messages

它提供了很多錯誤的SoPlex的只是代碼,而不是我的OMNeT ++項目代碼。

任何想法可能導致問題?

我已經使用MinGW在Code :: Blocks IDE中編譯SoPlex包。當我在OMNet ++中使用MinGW GCC而不是GCC for OMNet++作爲current toolchain時,出現此錯誤fatal error: omnetpp.h: No such file or directory

+0

您能否提供一個導致這些錯誤的示例代碼以及來自控制檯的錯誤日誌?可能您的庫的頭文件沒有正確包含。 –

回答

1

關於第三方庫的錯誤。根據將庫放在src文件夾中的位置,至少必須將目錄作爲include目錄添加,否則編譯器將找不到頭文件。

至於omnetpp.h的問題:OMNeT ++有自己的makefile生成器,它會自動添加所需的include文件夾(omnetpp_root/include)。通用的MinGW GCC工具鏈沒有。如果您想避免額外的工作,請始終使用omnet工具鏈構建您的模型。