我編譯了Google C++ Test。我現在試圖將它添加到我的g ++安裝(在Cygwin上),因此我不必爲每個項目指定-I
,-L
和-l
。我做的步驟是:G ++:嘗試將include和lib添加到默認目錄
- 我把一個符號鏈接到/ usr /本地/包括以GTEST_ROOT /包括/ GTEST
- 我把在/ usr/local/lib目錄中GTEST_ROOT/lib中的庫符號鏈接( libgtest.la libgtest_main.la)
- 我寫了一個證明程序測試設置
測試程序編譯罰款與g++ -c proof.cpp
但g++ proof.cpp
在鏈接過程中給出了錯誤,說GTEST引用不能被發現。
使用grep來搜索我GTEST_ROOT爲所需的參照,我發現他們在GTEST_ROOT/lib中/的.libs附加庫(libgtest.a libgtest.la libgtest.lai libgtest_main.a libgtest_main.la libgtest_main.lai)
由於時間的限制,我使用下面的命令g++ -LGTEST_ROOT/lib/.libs -lgtest proof.cpp
來使它工作,我把它放在makefile中。
但是,我仍然試圖讓我的設置,使g++ proof.cpp
只是工作。我錯過了什麼?
感謝馬特,我現在明白我不能放棄-lgtest
。我想至少擺脫-LGTEST_ROOT/lib/.libs
。我已將符號鏈接添加到提供的其他.a
和.lai
文件中。但是,g++ proof.cpp -lgtest
現在給我鏈接器錯誤:cannot find -lgtest
注意:symlinking GTEST_ROOT/lib/.libs中的庫仍然不會給出所需的結果。
謝謝,馬特。我有'libgtest.la'和'libgtest_main.la'(不是目錄)的符號鏈接。根據你的建議,我已經在'.a'和'.lai'文件中添加了符號鏈接(沒有'.so'文件)。所以我期望'g ++ proof.cpp -lgtest'可以工作,但是我得到'找不到-lgtest'錯誤。有什麼建議麼? – Carlos
嘗試刪除所有的符號鏈接,除了'.a'。 BTW不會gtest有'make install'目標?你不應該親自做這些事情,make過程應該處理安裝部分(並且修復'.la'文件進行安裝)。 – Mat
再次感謝,馬特。刪除除'.a'文件以外的所有內容時不會發生變化。 gtest的'make install'有用地告訴你閱讀README,它沒有關於如何處理這個庫的指令。 – Carlos