我正在尝试使用 http://www.ece.uvic.ca/~frodo/jasper/ 中的 libjasper 作为静态库,在使用 VC9 的 Windows 上从 http://www.cybercom.net/~dcoffin/dcraw/ 编译 dcraw.c。我在途中解决了几个问题,最后得到了三个链接错误。

1>dcraw.obj : error LNK2001: unresolved external symbol _ftello
1>dcraw.obj : error LNK2001: unresolved external symbol _fseeko
1>dcraw.obj : error LNK2001: unresolved external symbol _getc_unlocked

前两个似乎很容易解决,我补充说
#define fseeko _fseeki64
#define ftello _ftelli64

这样做了,但是第三个呢:
1>dcraw.obj : error LNK2001: unresolved external symbol _getc_unlocked

如何在带有 Visual Studio 的 Windows 上解决这个问题?

谢谢。

最佳答案

getc_unlocked 的实际等价物不是 getc ,而是 _fgetc_nolock 。所以,假设编写原始代码的人知道他在做什么并且有一些理由喜欢线程不安全的版本,你可能想要这样:

#define getc_unlocked _fgetc_nolock

关于c++ - Visual Studio 错误 LNK2001 : unresolved external symbol _fgetc_unlocked,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9115932/

10-12 20:31