这是我第一次使用Boost lib,所以我当然遇到了问题:
首先,这是我的项目的CMAKELISTS.txt:
$list | ForEach-Object address # PSv2: | ForEach-Object { $_.address }
# OR
$list | Select-Object -ExpandProperty address
注意:我已经构建了BOOST库! ===========================================
src/CMAKELISTS.txt:
===========================================
cmake_minimum_required(VERSION 3.15)
project(My_String)
set(CMAKE_CXX_STANDARD 17)
set(SOURCE_FILES MyString.cpp MyString.h main.cpp)
add_executable(My_String_src ${SOURCE_FILES})
===========================================
test/CMAKELISTS.txt:
===========================================
cmake_minimum_required(VERSION 3.15)
project(My_String)
set(CMAKE_CXX_STANDARD 17)
set(Boost_USE_STATIC_LIBS OFF)
set(SOURCE_FILES MyStringTest.cpp)
set(Boost_INCLUDE_DIR "C:\\Program Files\\Boost\\boost_1_71_0")
set(Boost_libraRIES "C:\\Program Files\\Boost\\boost_1_71_0")
find_package (Boost COMPONENTS unit_test_framework)
include_directories(${Boost_INCLUDE_DIR})
include_directories(../src)
add_executable (Boost_Tests_run ${SOURCE_FILES})
target_link_libraries (Boost_Tests_run ${Boost_libraRIES})
==============================================
top_level CMAKELISTS.txt for the whole project:
==============================================
cmake_minimum_required(VERSION 3.15)
project(My_String)
set(CMAKE_CXX_STANDARD 17)
add_subdirectory(src)
add_subdirectory(test)
在MyStringTest.cpp中,我有:
enter code here
构建项目时出现的错误:
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MAIN
#define BOOST_TEST_MODULE MyString_Test_Suite
#include <iostream>
#include "MyString.h"
#include "MyString.cpp"
#include <boost/test/unit_test.hpp>
我的配置有什么问题? 而我需要做些什么来解决它?