1
我試圖讓單元測試++項目中的合作下,該目錄樹的相對路徑:單元測試++和g ++ - 圖書館
Project/
|-- src/
|-- test/
| |-- test.cpp
|-- unittest-cpp/
| |-- UnitTest++/
| |-- libUnitTest++.a
| |-- src/
| |-- UnitTest++.h
|-- Makefile
我試圖用克至++編譯,同時在項目目錄。我的test.cpp文件包含了UnitTest ++入門代碼。
我試過如下:
g++ -Lunittest-cpp/UnitTest++/ -lUnitTest++ -Iunittest-cpp/UnitTest++/src/ \
test/test.cpp -o Test
如果我沒理解好,-L是給路徑靜態庫。 -l(小L)用於庫名,-I(Capital i)用於包含路徑。
我得到兩個不同的結果。它要麼告訴我它無法在/ usr/bin /中找到lib或者它告訴我有對unittest :: *的未定義引用。
是因爲我給了一個它無法編譯的庫的相對路徑嗎?我是通過多個目錄使用g ++的新手,我試圖理解它是如何工作的,然後才能在我的Makefile中工作。
[編輯]:鏈接庫和頭之前,必須給出test/test.cpp參數。所以,這工作:
g++ test/test.cpp -Lunittest-cpp/UnitTest++ -lUnitTest++ -Iunittest-cpp/UnitTest++/src -o Test