我正在尝试使用CMake在Windows中配置Point Data Abstraction Library。我正在按照可以找到here的教程:
我在命令提示符中使用以下命令:
C:\Users\name\PDALe\build> cmake .. -DCMAKE_PREFIX_PATH=C:\OSGeo4W64\lib\pdal\cmake
但是,会出现以下警告:
CMakeLists.txt上的CMake警告:3(find_package): 找不到包的配置文件" PDAL"这是兼容的 请求版本" 1.6.0"。 考虑了以下配置文件但未被接受: C:/OSGeo4W64/lib/pdal/cmake/PDALConfig.cmake,版本:1.6.0(64位)
这正是我想要它使用的配置文件,我不确定它为什么不使用它。我见过类似idea,但我认为我已正确地将cmake指向配置文件。
我有什么简单的遗失吗?有谁知道这里出了什么问题?
修改:我当前的CMakeLists.txt如下:
cmake_minimum_required(VERSION 2.8)
project(MY_PDAL_PROJECT)
find_package(PDAL REQUIRED CONFIG)
include_directories(${PDAL_INCLUDE_DIRS})
link_directories(${PDAL_LIBRARY_DIRS})
add_definitions(${PDAL_DEFINITIONS})
set(CMAKE_CXX_FLAGS "-std=c++11")
add_executable(tutorial Tutorial.cpp)
target_link_libraries(tutorial PRIVATE ${PDAL_LIBRARIES})
自从我提出这个问题后,我才从find_package(PDAL REQUIRED CONFIG)
更改了行find_package(PDAL 1.6.0 REQUIRED CONFIG)
。
答案 0 :(得分:0)
基本上,CMake告诉您它已找到64位版本的PDAL库,但与CMake推导您的编译器正在使用的位数不匹配。
因此,Cmake将'(64bit)'添加到版本字符串中。
尝试再次检查您的环境是否实际上已设置为64位编译器。您应该能够从构建目录中某个位置的CMakeError.txt或CMakeOutput.txt文件中进行验证。
要么通过编译器的路径提供线索,要么从编译器本身的第一行输出。例如我的说:
Microsoft(R)C / C ++为 x64
优化编译器版本19.14.26433