小编jus*_*018的帖子

如何使用 CMAKE 将库包含在 OSX 捆绑包中

我正在尝试使用 Clion 和 Cmake 构建 OSX 捆绑包,目前库链接正确,因为我没有预编译错误,但是当我构建并尝试运行程序时,出现以下错误

    dyld:未加载库:libxl.dylib
    参考自:
    /路径/到/可执行文件/
      原因:找不到图片

我搜索过这个问题,似乎找不到明确的解决方案,这可能是由于我缺乏 CMake 和 C++ 的经验。

如果有人有解决方案或可以指出我应该阅读的内容以进一步理解这一点,我将不胜感激。

请参阅下面的 CMakeLists.txt

    cmake_minimum_required(版本3.7)
    项目(项目名称)

    设置(CMAKE_CXX_STANDARD 14)

    设置(SOURCE_FILES main.cpp)

    find_package(需要Qt5Core)
    find_package(需要 Qt5Widgets )
    find_package(需要 Qt5Gui )

    设置(PROJECT_LINK_LIBS libxl.dylib)
    link_directories(${CMAKE_SOURCE_DIR}/LibXL/lib)
    include_directories(${CMAKE_SOURCE_DIR}/LibXL/include_cpp)


    #Mac 捆绑包(在 Mac 上构建)
    add_executable(project_target_mac MACOSX_BUNDLE main.cpp)
    qt5_use_modules(project_target_mac核心小部件GUI)
    target_link_libraries(project_target_mac Qt5::Widgets)
    target_link_libraries(project_target_mac ${PROJECT_LINK_LIBS} )
    #set_target_properties(project_target_mac PROPERTIES INSTALL_RPATH "${CMAKE_SOURCE_DIR}/LibXL/lib")

    add_executable(project_target ${SOURCE_FILES})
    qt5_use_modules(project_target核心小部件GUI)
    target_link_libraries(project_target Qt5::Widgets)
    target_link_libraries(project_target ${PROJECT_LINK_LIBS

} )

c++ macos cmake dylib clion

5
推荐指数
1
解决办法
3576
查看次数

了解 Android 低功耗蓝牙的特性

我试图简单地从星系 S3 读取和写入 Hello World 到连接到虚拟串行端口的 blueradio 加密狗。但我得到

Unhandled exception: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

每当我打电话

gatt.readCharacteristic(characteristic);
Run Code Online (Sandbox Code Playgroud)

我用它来定义特征

private static final UUID MY_UUID = UUID.fromString("00001801-0000-1000-8000-00805f9b34fb");
private static final UUID charUUID = UUID.fromString("00002a01-0000-1000-8000-00805f9b34fb");
characteristic = gatt.getService(MY_UUID).getCharacteristic(charUUID);
Run Code Online (Sandbox Code Playgroud)

当我这样调用discoverServices()时我从LogCat获取的UUID

D/BluetoothGatt(7083): discoverServices() - device: EC:FE:7E:11:12:A4
D/BluetoothGatt(7083): onGetService() - Device=EC:FE:7E:11:12:A4 UUID=00001800-0000-1000-8000-00805f9b34fb
D/BluetoothGatt(7083): onGetService() - Device=EC:FE:7E:11:12:A4 UUID=00001801-0000-1000-8000-00805f9b34fb
D/BluetoothGatt(7083): onGetService() - Device=EC:FE:7E:11:12:A4 UUID=0000180f-0000-1000-8000-00805f9b34fb
D/BluetoothGatt(7083): onGetService() - Device=EC:FE:7E:11:12:A4 UUID=da2b84f1-6279-48de-bdc0-afbea0226079
D/BluetoothGatt(7083): onGetCharacteristic() - Device=EC:FE:7E:11:12:A4 UUID=00002a00-0000-1000-8000-00805f9b34fb
D/BluetoothGatt(7083): onGetCharacteristic() - Device=EC:FE:7E:11:12:A4 UUID=00002a01-0000-1000-8000-00805f9b34fb
D/BluetoothGatt(7083): onGetCharacteristic() - Device=EC:FE:7E:11:12:A4 UUID=00002a02-0000-1000-8000-00805f9b34fb
D/BluetoothGatt(7083): onGetCharacteristic() - Device=EC:FE:7E:11:12:A4 UUID=00002a03-0000-1000-8000-00805f9b34fb
Run Code Online (Sandbox Code Playgroud)

这是我不确定我是否做对的地方我不知道如何为特征和服务获取正确的 UUID

Beloiw …

android bluetooth bluetooth-lowenergy

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

bluetooth ×1

bluetooth-lowenergy ×1

c++ ×1

clion ×1

cmake ×1

dylib ×1

macos ×1