Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.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
C++ clang是否提供了一个取消链接的实现?_C++_Clang_Clang++_Unlink - Fatal编程技术网

C++ clang是否提供了一个取消链接的实现?

C++ clang是否提供了一个取消链接的实现?,c++,clang,clang++,unlink,C++,Clang,Clang++,Unlink,我正在尝试使用clang编译一个库。库调用“unlink”,这不是由clang定义的: libmv/src/third_party/OpenExif/src/ExifImageFileWrite.cpp:162:17: error: use of undeclared identifier 'unlink'; did you mean 'inline'? unlink( mTmpImageFile.c_str() ) ; 我的问题是,什么是解除链接的叮当声?在我看来,前

我正在尝试使用clang编译一个库。库调用“unlink”,这不是由clang定义的:

libmv/src/third_party/OpenExif/src/ExifImageFileWrite.cpp:162:17: error: use of undeclared identifier 'unlink'; did you mean 'inline'?
            unlink( mTmpImageFile.c_str() ) ;
我的问题是,什么是解除链接的叮当声?在我看来,前进的道路将是#用等效例程定义某个地方的取消链接。

没有“叮当等效”。GCC和Clang都不负责定义,尽管它们可能会分发POSIX头文件,而POSIX头文件确实如此(我不记得POSIX头文件的具体来源)

不幸的是,这似乎是您正在使用的库的一个bug;OpenExif开发人员未能包含正确的头。不同的C++实现可能内部的代码<代码>包含< /代码>各种标题,以供他们自己的目的,这显然屏蔽了你以前的工具链上的这个bug。 您可以破解副本和/或提交修补程序以添加:

#include <unistd.h>
#包括

我会在有机会的时候解决这个问题,但对于任何有完全相同问题的人(特别是OpenExif),include for unistd.h仅适用于Linux。修复方法是将APPLE包括在内。我认为更合适的方法可能是将
#define HAVE_UNISTD_H 1
添加到ExifComp.H?通常,可以为特定平台配置第三方库,此配置步骤的一部分是将
#define HAVE_UNISTD_H
定义为
0
1