生成SO指定存储路径

//生成.so文件
add_library(${PROJECT_NAME}
  src/filter_utils.cpp
)

//指定路径
set(PATH /home/lst/Desktop/)
set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PATH})


${PROJECT_SOURCE_DIR} // "/home/lst/Desktop/workspace/temp_ground/src/cloud_utils"

message(${PROJECT_BINARY_DIR})
message(${PROJECT_SOURCE_DIR})
message(${fusion_sync_SOURCE_DIR}) //指定节点路径

/home/lst/Desktop/workspace/temp_ground/build/cloud_utils
/home/lst/Desktop/workspace/temp_ground/src/cloud_utils
/home/lst/Desktop/workspace/temp_ground/src/fusion_sync


//工程引用
target_link_libraries(ground_fine_node ${PROJECT_SOURCE_DIR}/lib/libcloud_utils.so
  ${catkin_LIBRARIES}
  ${OpenCV_LIBS}
)

### 解决构建工具中未为模块指定输出路径的配置问题 对于不同类型的构建工具,解决未指定模块输出路径的方法有所不同。 #### Webpack 输出路径设置 当使用 Webpack 对 JavaScript 文件进行打包时,可以通过修改 `output` 字段来指明打包后的文件存储位置。具体来说,在 webpack.config.js 中定义 `output.path` 和 `output.filename` 来设定最终生成文件的位置以及名称[^2]: ```javascript const path = require('path'); module.exports = { entry: path.join(__dirname, "./src/main.js"), output: { path: path.join(__dirname, "./dist"), filename: "bundle.js" } }; ``` 这段代码明确了编译结果应该放置在哪一目录下 (`./dist`) 并给出了具体的文件名 (`bundle.js`)。 #### CMake 设置目标属性 如果是在 C++ 或其他支持 CMake 的项目里遇到类似情况,则可以利用 `set_target_properties()` 函数来调整第三方或其他资源的目标属性。这允许开发者精确控制这些外部依赖项相对于项目的相对安装位置[^1]: ```cmake set_target_properties(mylib PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/libs/mylib.a) ``` 这里展示了怎样把名为 mylib 的安置到特定的地方 `${CMAKE_BINARY_DIR}/libs/`. 另外,还可以通过 `INTERFACE`, `PUBLIC`, 或者 `PRIVATE` 关键字进一步细化路径的作用范围[^3]. 例如,为了使某个头文件夹只影响当前 target 而不影响其使用者,可以选择将其设为 PRIVATE: ```cmake target_include_directories(myexe PRIVATE "${PROJECT_SOURCE_DIR}/include") ``` 而对于那些希望共享给所有子项目的公共包含路径,则应采用 PUBLIC 定义方式. #### Android NDK/CMake 配置 针对 Android NDK 开发环境下的 CMake 构建系统而言,同样存在类似的机制用于处理本地二进制文件(如.so 动态链接)的部署地址安排。通常情况下,默认会按照标准结构自动完成相应工作;但如果需要自定义的话,也可以参照官方文档说明来进行个性化定制[^4]. 综上所述,无论是哪种编程语言或平台上的开发活动,只要遵循各自框架所提供的指南并合理运用相关命令选项,就能有效避免因缺少必要的输出路径而导致的各种错误。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值