gpt4 book ai didi

c++ - 链接器:如果我在程序中不使用 float ,则 "__fltused"被多重定义

转载 作者:太空狗 更新时间:2023-10-29 22:56:59 26 4
gpt4 key购买 nike

完整的输出是这样的(只有一个错误),发布版本似乎没有遇到同样的问题

SDL2.lib(SDL_stdlib.obj) : error LNK2005: __fltused already defined in LIBCMTD.lib(fltused.obj)`

我用/MTd 重新编译了 SDL2.lib 并将其作为静态库,并确保它是我系统上唯一同名的库。

虽然它变得奇怪:在我的程序中的任何地方放置一个浮点运算允许它毫无问题地链接:

int main(int argc, char * argv[]) {
return 0; // will not link
}

int main(int argc, char * argv[]) {
float flt = 0.0f; // gets around optimization
return int(flt); // will link
}

这当然不理想,这里的潜在问题可能是什么?

最佳答案

你可以试试这个,据我所知,这可以绕过它。

#ifdef __cplusplus 
extern "C" {
#endif
int __fltused=0;
#ifdef __cplusplus
}
#endif

关于c++ - 链接器:如果我在程序中不使用 float ,则 "__fltused"被多重定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46247483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com