【发布时间】:2020-07-26 07:17:03
【问题描述】:
我的项目结构如下:
Project
-- CMakeLists.txt
-- src/
-- -- main.cpp
-- include/
-- -- curl/
-- -- -- *.h files
-- -- nlohmann/
-- -- -- *.hpp files
-- lib/
-- -- libcurl.lib
项目/CMakeLists:
cmake_minimum_required(VERSION 3.1)
set(PROJECT_NAME "VKAPI")
project(${PROJECT_NAME} CXX)
include_directories(${PROJECT_SOURCE_DIR}/include)
file(GLOB TARGET_SRC "./src/*.cpp")
add_executable(main ${TARGET_SRC})
target_link_libraries(main "${CMAKE_SOURCE_DIR}/lib/libcurl.lib")
install(TARGETS main DESTINATION bin)
它工作正常,但是当我启动 main.exe 时,它不起作用。它没有正确执行并显示消息,而是以代码 0 结束。代码:
#include <iostream>
#include "curl/curl.h"
#include "nlohmann/json.hpp"
int main()
{
CURL* curl = curl_easy_init();
std::cout << "That's work!" << std::endl;
std::cout << "Hello Easy C++ project!" << std::endl;
}
但是当我删除"#include "curl/curl.h""和"#include "nlohmann/json.hpp""时,它开始正常工作了。
【问题讨论】:
-
也许这个线程帮助link
-
TARGET_CURL "./*.h")curl 目标只有标题。标题意义不大。那么这个 curl 的目标是 C++ 还是 C 项目?请注意,您不是在链接 libraries,而是在链接 cmake 目标。 -
@KamilCuk,这是一个 C++ 项目。
-
@KamilCuk,它没有帮助我。
标签: cmake