Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 多种c语言方言_Ios_C_Xcode_C99_C11 - Fatal编程技术网

Ios 多种c语言方言

Ios 多种c语言方言,ios,c,xcode,c99,c11,Ios,C,Xcode,C99,C11,我正试图将一系列默认为gnu-c99的代码文件(Cocos3d文件)集成到我的项目中,该项目将是c11,因为它使用其他库 我开始手动编辑cocos3d文件(大部分是抛出编译器错误的结构引用)进行编译;但很快意识到这是疯狂的,因为有几百个文件。另加说明;cocos3d是ARC,而我的项目不是;因此,我有几个问题: 是否可以指定项目中的某些文件使用一种语言方言生成,而其他文件则使用另一种语言方言生成(例如,使用编译器标志等);如果是,怎么做 为arc设置编译器标志时(例如,-fobjc arc为一个

我正试图将一系列默认为gnu-c99的代码文件(Cocos3d文件)集成到我的项目中,该项目将是c11,因为它使用其他库

我开始手动编辑cocos3d文件(大部分是抛出编译器错误的结构引用)进行编译;但很快意识到这是疯狂的,因为有几百个文件。另加说明;cocos3d是ARC,而我的项目不是;因此,我有几个问题:

  • 是否可以指定项目中的某些文件使用一种语言方言生成,而其他文件则使用另一种语言方言生成(例如,使用编译器标志等);如果是,怎么做

  • 为arc设置编译器标志时(例如,-fobjc arc为一个文件启用arc);对于一个文件夹/一组文件,是否有一种递归执行此操作的方法


  • 伊恩的评论为我指明了正确的方向;在Cocos3d的具体案例中,我上面的评论并不完全正确。简单地将作为CC3HelloWorld项目产品生成的静态库(.a文件)添加到您自己的项目中仍然无法解决多语言方言依赖性问题

    我分析了CC3HelloWorld项目closer的结构,发现它实际上有4个目标;主要应用程序是cocos3d、cocos2d和cocos2d花栗鼠。因此,我在新项目中创建了3个目标(文件->新建->目标),并为每个目标选择了静态库选项。然后,您可以将cocos3d、2d和chipmunk的源文件拖动到您的项目中,并确保只将它们添加到各自的目标中(例如,不要添加到主应用程序目标中)


    最后,一旦你有了所有的目标设置;您可以自由地调整C和C++语言的方言,独立于每个目标的Bug设置标签下的其他目标;ARC也是如此。

    我觉得你走错了方向。Cocos3d项目很可能已经被设置为一个独立的项目,您可以将其作为依赖项包含到您的工作区中。我还没有做过任何研究来验证这一点,但开源产品以这种方式提供是很常见的。。没有想到这一点;我一定会调查的。如果你想提出你的评论作为答案,我可以投你一票。我还意识到cocos3d产生了一个库产品,包括它的物理引擎、核心代码和cocos2d文件;所以最后,我认为仅仅将它们添加为库文件可能是最简单的。总的来说,我认为你的答案更正确。