我想包括在海灣合作委員會評爲libmathematica.a一個庫文件,所以它得到可執行例如鏈接。GCC找不到頭文件中包含的庫
我試圖用gcc main.c libmathematica.a -o example
注意做到這一點:我用gcc要做到這一點,因爲LD不會用正確的系統庫
正確鏈接,但我得到:fatal error: mathematica.h: No such file or directory
,這很奇怪,因爲mathematica.h在庫中。
你能幫忙嗎?
我想包括在海灣合作委員會評爲libmathematica.a一個庫文件,所以它得到可執行例如鏈接。GCC找不到頭文件中包含的庫
我試圖用gcc main.c libmathematica.a -o example
注意做到這一點:我用gcc要做到這一點,因爲LD不會用正確的系統庫
正確鏈接,但我得到:fatal error: mathematica.h: No such file or directory
,這很奇怪,因爲mathematica.h在庫中。
你能幫忙嗎?
庫中的頭文件不能爲。它必須是出現在某個位置,你必須指定與-I
編譯器標誌的位置:如果頭文件是在該main.c
是或子目錄中,那麼可以肯定的是,目錄
gcc -I/path/to/mathematica/include main.c libmathematica.a -o example
您在#include
指令中使用引號而不是尖括號。
這個問題將在您的源文件中。如果mathematica.h位於系統包含目錄中,那麼您將使用#include <mathematica.h>
,如果它位於某個本地目錄中,那麼您將使用類似#include "libs/mathematica.h"
之類的內容。
我不關注...請參閱main.c不是mathematica.a的一部分,它是一個外部程序。我試圖將mathematica連接到示例以運行mathematica代碼 –
mathematica.h文件位於何處?做一些像find/-name「* mathematica.h」。如果它位於/ usr/include等主要包含文件中,則可以使用#include
我在圖書館包括它,這是錯誤的。 –
嘗試增加海合會呼籲 - 像 -I /全/路徑/要/ /目錄/在哪裏/的/所需/頭/駐留
例如一個選項: 的gcc -I/USR/include/mathematica -lmathematica -o example main.c
哦......這很有道理。謝謝! –