Tag: makefile

在Xcode中设置一个C / C ++ makefile项目:语法高亮,自动完成,跳转到定义等等!

在这篇文章中,我将向您展示如何设置Xcode,以便您可以在C / C ++项目中使用它。 它将允许您使用IDE提供的所有出色功能。 在撰写本文时,我正在使用Xcode 9.2和MacOS High Sierra。 我将以crazyflie 2.0固件项目为例。 它具有一个使用makefiles作为构建系统的C代码库。 第一步:获得构建项目的工具 在这种情况下,crazyflie项目需要用于Arm的GNU嵌入式工具链。 他们提供了许多安装选择(虚拟机,docker,从源代码构建,从ARM下载预编译的二进制文件),但是我发现的最简单的方法是使用此brew公式,该公式从ARM获取最后一个预编译的二进制文件并对其进行配置,因此您唯一需要做的是: $ brew tap osx-cross/arm $ brew install arm-gcc-bin 之后,您可以通过检查版本来验证正确的安装: $ arm-none-eabi-gcc –version arm-none-eabi-gcc(用于Arm嵌入式处理器的GNU工具7-2017-q4-major)7.2.1 20170904(发行版)[ARM / embedded-7-branch版本255204] 版权所有(C)2017自由软件基金会,Inc. 这是免费软件; 请参阅复制条件的来源。 没有保修; 甚至不是出于适销性或针对特定目的的适用性。 第二步:获取项目的源代码 在这种情况下,请获取crazyflie固件的源代码。 因为此特定项目使用git子模块,所以我们还需要传递–recursive参数: git clone-递归https://github.com/bitcraze/crazyflie-firmware.git 之后,该项目将位于名为crazyflie-firmware的文件夹下。 第三步:设置要构建的Xcode项目 首先,通过执行以下操作创建一个新的Xcode项目: 文件->新建->项目 在cross-platform选项卡下,使用External Build System模板。 给它起个名字并完成设置: 然后,转到主要目标的info选项卡,并将“ Directory字段更改为包含crazyflie源代码的目录: crazyflie-firmware 。 还建议传递-j参数以启用多核构建(更快!):在我的情况下,我有2个核,因此我传递-j2参数。 结果是: […]

在LLVM下的Makefile中通过LDFLAGS加载zlib的正确方法是什么?

我的CFLAGS有 -I../../usr/local/sys/usr/include 正确加载zlib.h LDFLAGS是 LDFLAGS = -L../../usr/local/sys/usr/lib -lxml2 -lzlib 但是,当链接器试图链接下面的事件 1> + Linking project files… 1> ld: library not found for -lzlib 1> collect2: ld returned 1 exit status 1> make: *** [link] Error 1 可能是什么问题呢? 环境是windows7下的iosdevenv(所以目录结构不同于mac os)

如何build立一个基于Makefile的iPhone静态库?

我已经设法在OSX上使用make在命令行上构build静态C库。 我曾尝试使用相同的Makefile(使用ARCHFLAGS=-arch armv6 -arch armv7 )为iOS构build一个静态库,但是它失败: gcc-4.2: error trying to exec '/usr/bin/arm-apple-darwin10-gcc-4.2.1': execvp: No such file or directory 我猜这是行不通的,因为我正在使用OSX SDK make而不是iOS SDK的某个部分。 任何线索? 注意有关问题库(levmar)和Makefile的更多详细信息,请参阅此堆栈溢出答案 。

如何在iOS上编译fftw3

现在我只想在iOS上使用FFTW3,因为我已经成功地将它编译成iOS模拟器使用的i386版本,剩下的工作是编译成armv6(或v7)版本,并将这两个版本一起是我的不正确的configuration: ./configure CC = / Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / arm-apple-darwin10-gcc-4.2.1 LD = / Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / ld CCFLAGS =“ – I /开发人员/平台/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib/gcc/arm-apple-darwin10/4.2.1/include/ -I / Developer / Platforms / iPhoneOS。 platform / Developer / SDKs / iPhoneOS4.2.sdk / usr […]

如何使用boost-library为iOS(设备和模拟器)构buildASSIMP库?

我想在iOS项目中使用ASSIMP库http://assimp.sourceforge.net 。 不幸的是,我并不是很熟悉makefile和那些东西,所以我需要一些帮助。 我已经下载了源代码,并且首先尝试使用make(在代码子文件夹中)构build在makefile中,我添加了INCLUDEFLAGS = -I/Lib因为我的boost头文件位于/ Lib / boost执行make static成功有一些警告。 生成一个静态库(.a)。 然后,我尝试将.a文件添加到我的xcode-project中,并将assimp头文件夹指定为其他包含目录(其他searchpath)。 链接失败的消息,该图书馆没有正确的架构(模拟器所需的i386) file libassimp.a输出:“libassimp.a:当前ar档案随机库” 无论我需要在iOS设备上如何构buildi386结构库和arm6或arm7库? 可以只使用boost-headers,还是更好/有必要把boost作为一个库? 目前我只使用boost头文件,这应该是好的,因为boost是一个头文件库?! 还有一个cmake – makefile(CMakeLists.txt)。 cmake是build立图书馆的推荐方式,但是我对cmake没有任何经验。 或者另一个想法:是否有可能通过xcodebuild立一个图书馆? 最终的结果应该是i386,arm6和arm7架构的库。 我该怎么办? 如何? 编辑: 我刚刚发现在文件aiDefines.h中有以下预处理器检查: #if defined(_MSC_VER) // See http://msdn.microsoft.com/en-us/library/b0084kay. # if defined(_M_IX86) # define ASSIMP_BUILD_X86_32BIT_ARCHITECTURE # elif defined(_M_X64) # define ASSIMP_BUILD_X86_64BIT_ARCHITECTURE # elif defined(_M_IA64) # define ASSIMP_BUILD_IA_64BIT_ARCHITECTURE # else # error […]