SOIL not linking correctly [duplicate]

て烟熏妆下的殇ゞ 提交于 2019-11-28 00:48:39

问题


I am linking SOIL in my library but when I compile I get these linker errors:

1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>libSOIL.lib(stb_image_aug.o) : error LNK2019: unresolved external symbol __alloca referenced in function _stbi_zlib_decode_noheader_buffer
1>libSOIL.lib(image_helper.o) : error LNK2019: unresolved external symbol _sqrtf referenced in function _RGBE_to_RGBdivA2

I did link libSOIL.lib in the addition dependencies.


回答1:


The unresolved symbol errors, error LNK2019, are from the symbols in libgcc.lib or another standard library implementation (see here for the Microsoft Options) not being linked to. alloca and sqrtf are both standard library functions.

If you aren't linking to a standard library, then link to one by adding it to your linker library path.

From the warning above warning LNK4098, it is more likely you are linking to a standard library but the linker doesn't know which on to load.

Recommend LINKER arguments to make this problem go away (tell the linker to choose a specific standard library) are /NODEFAULTLIB:"MSVCRT" /NODEFAULTLIB:"LIBCMT.

See the following links for additional information and resources

  • Linker Tools Warning LNK4098
  • Linking problems SOLVED
  • Default Libraries in Visual C++
  • Resolving LNK4098: defaultlib 'MSVCRT' conflicts with Stack Overflow Question



回答2:


Fixed the error.

Although I'm using VC2010, I built the VC8 libraries. I then added SOIL.lib instead of libSOIL.lib. Errors went away.




回答3:


I was having the same issue (using Visual Studio 2013 with vc120 toolset), I solved it downloading the SOIL library from the official site and instead of renaming libSOIL.a to SOIL.lib I ran the VC8 solution inside the official zip (that creates you the SOIL.lib)´then I copied it to my project and the problems went away.



来源:https://stackoverflow.com/questions/9629349/soil-not-linking-correctly

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!