New Project -> Framework & library -> Bundle
为了给出更多的上下文,我想创建一个native plugin for Unity.目前标题非常简单,只包含一个标题和一个源文件.
我现在希望能够使用CMake生成类似的项目,我正在努力使其工作.
CMake文件我归结为:
cmake_minimum_required(VERSION 3.3)project(Plugin)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")set(SOURCE_fileS Plugin.cpp)add_library(Plugin SHARED ${SOURCE_fileS})
上面的脚本构建了一个.dylib文件,我希望它能够构建一个.bundle文件.
我发现add_executable有一个MACOSX_BUNDLE选项,但它对我不起作用,因为我想捆绑一个库.还有一个名为BUNDLE的目标属性,但它似乎没有改变我的项目 – 它仍然会创建一个.dylib文件,当我希望得到一个.bundle文件.
我阅读了this question,似乎提出了一个有效的解决方案,但我不能让它适用于我的项目.
任何帮助赞赏.
解决方法 我不使用CMake,但我已经为iOS和OSX构建了一个Unity本机库.我通过调用xcodebuild使用构建脚本为两个平台构建.它为iOS构建了一个静态库,为OSX构建了一个动态库,当将构建的库复制到位时,.dylib被简单地重命名为.bundle.这是我的构建脚本,如果有帮助:
#!/bin/shPROJECT=UnityPlugin_UserDefaults.xcodeprojCONfigURATION=ReleaseBUILDDIR=buildOSXARCHIVEDIR=UserDefaults_OSX.xcarchiveIOSliB=../Plugins/iOS/libUserDefaults.aOSXliB=../Plugins/UserDefaults.bundlerm -rf $BUILDDIR $OSXARCHIVEDIRfor sdk in iphoneos iphonesimulatordo xcodebuild -project $PROJECT -configuration $CONfigURATION -scheme UserDefaults_iOS -derivedDataPath $BUILDDIR -sdk $sdk build || exit 2donemkdir -p $(dirname $IOSliB)rm -f $IOSliBxcrun lipo \ $BUILDDIR/Build/Products/$CONfigURATION-iphoneos/libUserDefaults.a \ $BUILDDIR/Build/Products/$CONfigURATION-iphonesimulator/libUserDefaults.a \ -output $IOSliB \ -create || exit 3echo Created $IOSliB:file $IOSliBxcodebuild -project $PROJECT -configuration $CONfigURATION -scheme UserDefaults_OSX -derivedDataPath $BUILDDIR -archivePath $OSXARCHIVEDIR -sdk macosx archive || exit 4mkdir -p $(dirname $OSXliB)cp $OSXARCHIVEDIR/Products/usr/local/lib/libUserDefaults.dylib $OSXliB || exit 5echo Created $OSXliB:file $OSXliBrm -rf $BUILDDIR
Xcode项目包含每个平台的目标,其中一个Scheme用于定义要构建的目标.
总结以上是内存溢出为你收集整理的c – 在OSX上使用CMake构建Unity本机包全部内容,希望文章能够帮你解决c – 在OSX上使用CMake构建Unity本机包所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)