0
我剛剛下載了cxxtest的4.4版本,並將我的zip文件解壓縮到此路徑中:C:/cxxtest-4.4。 現在後,沒有做任何額外的步驟,我打開克利翁,並試圖CxxTest添加到我的項目,因爲它如下:在CMake中鏈接CxxTest,它表示成功但未能生成
set(CXXTEST_PYTHON_TESTGEN_EXECUTABLE C:/cxxtest-4.4/python/cxxtest/cxxtestgen.py)
find_package(CxxTest REQUIRED)
if(CXXTEST_FOUND)
set(SOURCE_FILES main.cpp Calculator.h TestCalculator.h Calculator.cpp TestCalculator.h)
add_executable(Calculator ${SOURCE_FILES})
endif()
我不得不手動設置兩個變量會導致如果我不這麼做,我得到以下錯誤:
"C:\Program Files (x86)\JetBrains\CLion 2017.1\bin\cmake\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - MinGW Makefiles" C:\Users\Admin\CLionProjects\Calculator
CMake Error at C:/Program Files (x86)/JetBrains/CLion 2017.1/bin/cmake/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find CxxTest (missing: CXXTEST_PYTHON_TESTGEN_EXECUTABLE)
Call Stack (most recent call first):
C:/Program Files (x86)/JetBrains/CLion 2017.1/bin/cmake/share/cmake- 3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files (x86)/JetBrains/CLion 2017.1/bin/cmake/share/cmake- 3.7/Modules/FindCxxTest.cmake:221 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:9 (find_package)
-- Configuring incomplete, errors occurred!
See also "C:/Users/Admin/CLionProjects/Calculator/cmake-build- debug/CMakeFiles/CMakeOutput.log".
現在一切似乎正常工作,這是我的CMake的調試:
"C:\Program Files (x86)\JetBrains\CLion 2017.1\bin\cmake\bin\cmake.exe" - DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - MinGW Makefiles" C:\Users\Admin\CLionProjects\Calculator
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Admin/CLionProjects/Calculator/cmake-build-debug
現在,當我嘗試使用cxxtest/TestSuite.h在一個頭文件裏面,它說它找不到它。這讓我瘋狂,請幫助我!
在此先感謝!
編輯:我設法連接它,現在我能找到的頭文件,添加到CMake的文件中這一行:當我建立我得到以下輸出
include_directories(C:/cxxtest-4.4)
現在:
"C:\Program Files (x86)\JetBrains\CLion 2017.1\bin\cmake\bin\cmake.exe" -- build C:\Users\Admin\CLionProjects\Calculator\cmake-build-debug --target Calculator -- -j 8
[ 33%] Linking CXX executable Calculator.exe
CMakeFiles\Calculator.dir/objects.a(main.cpp.obj): In function ` ZN7CxxTest7trackerEv':
C:/cxxtest-4.4/cxxtest/TestTracker.h:130: undefined reference to `CxxTest::TestTracker::tracker()'
CMakeFiles\Calculator.dir/objects.a(main.cpp.obj): In function `ZN7CxxTest14numberToStringIlEEPcT_S1_S2_jj':
C:/cxxtest-4.4/cxxtest/ValueTraits.h:183: undefined reference to `CxxTest::digitToChar(unsigned int)'
CMakeFiles\Calculator.dir/objects.a(main.cpp.obj): In function `ZN7CxxTest14doAssertEqualsIiiEEvPKciS2_T_S2_T0_S2_':
C:/cxxtest-4.4/cxxtest/TestSuite.h:146: undefined reference to `CxxTest::doAbortTest()'
CMakeFiles\Calculator.dir/objects.a(main.cpp.obj):main.cpp:(.rdata$_ZTV14TestCalculator[__ZTV14TestCalculator]+0x14): undefined reference to `CxxTest::TestSuite::tearDown()'
CMakeFiles\Calculator.dir/objects.a(main.cpp.obj): In function `ZN14TestCalculatorD1Ev':
C:/Users/Admin/CLionProjects/Calculator/TestCalculator.h:8: undefined reference to `CxxTest::TestSuite::~TestSuite()'
collect2.exe: error: ld returned 1 exit status
CMakeFiles\Calculator.dir\build.make:123: recipe for target 'Calculator.exe' failed
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/Calculator.dir/all' failed
CMakeFiles\Makefile2:78: recipe for target 'CMakeFiles/Calculator.dir/rule' failed
mingw32-make.exe[3]: *** [Calculator.exe] Error 1
Makefile:117: recipe for target 'Calculator' failed
mingw32-make.exe[2]: *** [CMakeFiles/Calculator.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles/Calculator.dir/rule] Error 2
mingw32-make.exe: *** [Calculator] Error 2