Objective c dlsym的隐式声明在c99中无效
我在文件中有所需的导入。我正在尝试导入一个现有项目并在Xcode(4.2)中编译。我还需要包括什么吗Objective c dlsym的隐式声明在c99中无效,objective-c,xcode,xcode4.2,osx-lion,c99,Objective C,Xcode,Xcode4.2,Osx Lion,C99,我在文件中有所需的导入。我正在尝试导入一个现有项目并在Xcode(4.2)中编译。我还需要包括什么吗 这两个错误都是通过将方法包含在以下内容中而修复的: #ifdef RTLD_SELF //initialize method #endif 从Mac OS X上的/usr/include/dlfcn.h中的代码得到提示dlsym();唯一可以防止声明它的定义是header-guard\u DLFCN\u H\u,它用于防止文件多次包含时损坏。我不知道足够多的客观C来知道#imp
这两个错误都是通过将方法包含在以下内容中而修复的:
#ifdef RTLD_SELF
//initialize method
#endif
从Mac OS X上的
/usr/include/dlfcn.h
中的代码得到提示dlsym()
;唯一可以防止声明它的定义是header-guard\u DLFCN\u H\u
,它用于防止文件多次包含时损坏。我不知道足够多的客观C来知道#import
是否有#include
之外的任何其他含义,但是由于dlsym()
和RTLD\u SELF
缺失,似乎存在一些关键区别。查找除/usr/include
以外的意外文件dlfcn.h
。如果出现最坏的情况,请将#error I am ere
添加到标题中,以确保它已被使用。我在我的机器上找不到任何dlfcn.h
文件,也找不到任何文件中的guarddlfcn\u h
,除了此导入语句#import
。我在/usr/include
中也没有看到任何这样的文件。找不到该文件令人费解。您是否尝试过在/Developer
下查找?我在那里没有找到很多东西(但是/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/dlfcn.h
是一个发现),但我在/usr/include
中确实有(可能是旧的)东西。您是否能够成功构建其他项目?递归的grep
正在慢慢进行;我还找到了一些其他版本的/Developer/SDKs/MacOSX10.7.sdk/usr/include/dlfcn.h
和类似文件。@JonathanLeffler Ya在那里,无法通过finder和spotlight找到。这是我第一次开始使用iOS,这是我尝试导入的第一个项目。