<algorithm>
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " " );
}
CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
project(Boost)
# Настройка использования компилятора GCC
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif()
# Установка пути к библиотеке Boost
set(BOOST_ROOT "/Users/floyz/cpp-tools/boost_1_82_0/boost")
# Добавление исполняемого файла
add_executable(my_app main.cpp)
# Добавление директорий для поиска заголовочных файлов
target_include_directories(my_app PRIVATE ${Boost_INCLUDE_DIRS})
# Добавление библиотек для линковки
target_link_libraries(my_app PRIVATE ${Boost_LIBRARIES})
set_target_properties(
my_app PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
)
Ну и на всякий случай c_cpp_properties.json:
{
"configurations": [
{
"name": "Mac",
"includePath": [
"/Users/floyz/cpp-tools/boost_1_82_0/boost",
"${workspaceFolder}/**",
"/Users/floyz/cpp-tools/boost_1_82_0"
],
"defines": [],
"macFrameworkPath": [
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++23",
"intelliSenseMode": "macos-clang-arm64"
},
{
"name": "config-cpp",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++20",
"intelliSenseMode": "macos-clang-arm64"
}
],
"version": 4
}
Подскажите в чем проблема?
А где find_package с поиском буста? Boost_libraries не материализуется из ничего
# Добавление директорий для поиска заголовочных файлов target_include_directories(my_app PRIVATE ${Boost_INCLUDE_DIRS}) Это нормально, ЕСЛИ переменная Boost_INCLUDE_DIRS заполнена. А вот что она заполнена - я сомневаюсь... # Добавление библиотек для линковки target_link_libraries(my_app PRIVATE ${Boost_LIBRARIES}) Это вообще не годится, в бусте много библиотек, надо подключать только те , что нужны .
Обсуждают сегодня