[DTK] Qt-cmake项目:opencascade的源码库OCCT,其链接配置的实现过程
Tofloor
poster avatar
deepin
2022-11-26 12:15
Author

我们对opencascade进行了cmake方式构建之后,下一步就是让自己的cmake项目对其源文件进行链接,让manwindow.h能够include到OCCT文件中的静态库。

关于OCCT文件的源码库链接,其项目的CMakeLists.txt文件配置内容如下:

一.在CMakeLists.txt文件中设置链接

# 项目文件:CMakeLists.txt
# 1.使用config模式, 需要指定config所在路径
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/OCCT/lib/cmake/opencascade")
# third_lib_dir 的赋值需要先于find_package执行
set(third_lib_dir ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/OCCT/lib)

# 2.搜索OCCT的源码库,比如静态库include、动态库lib
find_package(OpenCASCADE)

# 3.打印OCCT源码库的路径、库等信息
message(STATUS "   OpenCASCADE_FOUND: ${OpenCASCADE_FOUND}")
message(STATUS "   OpenCASCADE_DIR: ${OpenCASCADE_DIR}")
message(STATUS "   OpenCASCADE_INCLUDE_DIR: ${OpenCASCADE_INCLUDE_DIR}")
message(STATUS "   OpenCASCADE_LIBRAIES: ${OpenCASCADE_LIBRARIES}")
message(STATUS "   third_lib_dir: ${third_lib_dir}")

# 4.添加头文件路径
include_directories("/library/cad/newcad/3rdparty/OCCT/include/opencascade")

# 5.链接并导入源码库
target_link_libraries(newcad PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
target_link_libraries(newcad PUBLIC ${OpenCASCADE_LIBRARIES})

二. 对搜索变量OpenCASCADE,创建Config.cmake文件,指定源码库路径

C94AD2CBBF217ADAEBE74431ED299AA3.jpg

OpenCASCADEConfig.cmake和FindOpenCASCADE.cmake文件,其设置内容如下:

F28D4F37208A17AD0A118B65028FC5FA.jpg

以上配置信息设置完成之后,我们的Qt cmake项目会自动去包含OCCT源码库中相关的cmake文件。

以上详细内容,可参考我的自媒体平台链接内容:MacOS 的QT开发初学(二): CMAKE项目,链接外部库OpenCASCADE

Reply Favorite View the author
All Replies
deepin
2022-11-26 12:22
#1

在设置链接时,cmake并不会直接去链接源代码的静态库include和动态库lib,必须要先经过“XXX.cmake”文件。

Reply View the author