我正在調試一個項目,該項目依賴於一組庫,包括libfreenect,OpenGL和OpenCL。問題在於黑屏是輸出。鏈接庫的順序C++鏈接器
作爲一個調試選項,我已經刪除了OpenCL代碼和鏈接庫,完全試圖確保OpenGL正常工作,幸運的是它的確如此。
我已經注意到了,不明白的是,我的項目工程,並使用圖書館
-lfreenect -lGL -lglut -lGLU -lOpenCL
在另一方面這個命令很好,黑屏給出在使用這個命令
-lfreenect -lOpenCL -lGL -lglut -lGLU
我的問題是:爲什麼鏈接庫的順序會影響程序的輸出?
你的問題是什麼? – n0rd
發佈受訂單影響的源代碼片段。根據您提供的信息量很難得出結論。 – Barracuda
如果兩個庫包含相同的入口點,它將使用找到的第一個入口點,它將是第一個指定的庫。我懷疑OpenCL和GL可能在你的系統上有共同的入口點。順便說一下,所有這些訂單看起來都有問題。 '-lglut'和'-lGLU'應該總是在'-lGL'之前。 –