我正在研究一些使用Open Dynamics Engine的代碼。我之前在Windows上使用過這段代碼,但現在我正轉向unix,以便我可以在unix環境下獲得與C一起工作的經驗,所以我不依賴於visual studio。我將所有東西下載到了我的主目錄,使用附帶的makefile構建並嘗試了一個演示;一切都很好。我用我自己的測試做了一個目錄和一個測試文件。對於我指定的#include:爲什麼我的include指令不能在gcc中工作?
#include ".././ode-0.11.1/include/ode/ode.h"
#include ".././ode-0.11.1/include/drawstuff/drawstuff.h"
由於庫只位於我的主目錄中,而不在標準位置。我去編譯我的代碼,但是:
.././ode-0.11.1/include/ode/ode.h:28:27: fatal error: ode/odeconfig.h: No such
file or directory
在ode.h看,它包括很多其他的頭都位於同一目錄中,但使用括號語法,而不是報價。我猜這與gcc無法找到其他標題有關。我已經看過makefile,但不知道我的問題是什麼。爲什麼我的編譯不起作用?如果我想了解這一切是如何工作的(鏈接,包含,製作等),我將不勝感激。
編輯:所以我想通了,如何正確地包括頭,現在我需要弄清楚如何鏈接到庫定義的功能...
EDIT2:仍然無法弄清楚如何鏈接到我的代碼。編譯後的靜態庫被轉儲到繪圖函數的'〜/ ode-0.11.1/ode/src/.libs'和'〜/ ode-0.11.1/drawstuff/src/.libs'中。
編輯3:我想我想通了。我沒有正確使用-l選項,而且似乎必須從我鏈接到的庫中引用函數後面的文件。
這可能有助於看看你的makefile和目錄中碼S在 - 注意你的代碼不應該在任何的目錄 – Mark
目前我沒有使用我自己的makefile,因爲我只編譯1個文件。它位於'〜/ code/myfile.cpp'中。 – primehunter326
因此,如果它是ode makefile,那麼會生成〜/ ode-0.11.1/ode/src/.libs - 然後我懷疑你也應該做一個make install – Mark