clang是否提供了unlink实现?

MM.*_*MM. 3 c++ clang unlink clang++

我正在尝试使用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() ) ;
Run Code Online (Sandbox Code Playgroud)

我的问题是,取消联系的铿锵声是什么?正如我所看到的那样,前进的道路将是#define取消与某个等效例程的联系.

Lig*_*ica 8

没有"Clang等价物".GCC和Clang都没有负责定义unlink,尽管他们可能会分发POSIX标题(我不记得POSIX标题来自哪里).

不幸的是,这似乎是您正在使用的库的错误; OpenExif开发人员未能包含正确的标头.不同的C++实现可能在内部#include用于各自的目的,这显然掩盖了以前工具链中的这个错误.

您可以破解您的副本和/或提交补丁以添加:

#include <unistd.h>
Run Code Online (Sandbox Code Playgroud)