无法使用 cmake 编译项目 - 未定义对“ns_initparse”的引用
Unable to compile project with cmake - undefined reference to `ns_initparse'
我可以用纯 g++ 命令编译项目,但我不能用 cmake 做同样的事情。对不起愚蠢的问题。我刚开始使用 cmake,google 不会给我任何解决方案。
工作正常
g++ -static main.cpp -o test -Wl,-Bstatic -lresolv -lutil -lstdc++
但是当我用 cmake 编译时,我收到这样的错误
undefined reference to `ns_initparse'
undefined reference to `ns_parserr'
undefined reference to `forkpty'
我的cmake文件
cmake_minimum_required(VERSION 3.16)
project(test)
set(CMAKE_CXX_STANDARD 11)
add_link_options("-static")
add_compile_options("-lresolv -lutil") #it's like this options won't set
add_executable(test Source/main.cpp)
尝试将其他库链接到 target_link_libraries。为每个目标定义源也很有趣:
add_executable(test)
target_sources(test
PRIVATE
Source/main.cpp
)
target_link_libraries(test
PRIVATE
-lresolv
-lutil
)
target_compile_options(test
PRIVATE
-Wl
)
我可以用纯 g++ 命令编译项目,但我不能用 cmake 做同样的事情。对不起愚蠢的问题。我刚开始使用 cmake,google 不会给我任何解决方案。
工作正常
g++ -static main.cpp -o test -Wl,-Bstatic -lresolv -lutil -lstdc++
但是当我用 cmake 编译时,我收到这样的错误
undefined reference to `ns_initparse'
undefined reference to `ns_parserr'
undefined reference to `forkpty'
我的cmake文件
cmake_minimum_required(VERSION 3.16)
project(test)
set(CMAKE_CXX_STANDARD 11)
add_link_options("-static")
add_compile_options("-lresolv -lutil") #it's like this options won't set
add_executable(test Source/main.cpp)
尝试将其他库链接到 target_link_libraries。为每个目标定义源也很有趣:
add_executable(test)
target_sources(test
PRIVATE
Source/main.cpp
)
target_link_libraries(test
PRIVATE
-lresolv
-lutil
)
target_compile_options(test
PRIVATE
-Wl
)