我一直试图静态地将sfml链接到C++项目,但它总是给我带来编译器错误,有人知道这里发生了什么以及如何修复它吗;
编辑:
这是产生错误的代码:
严重性代码描述项目文件行抑制状态错误LNK2019未解析外部符号_JPEG_CreateCompress在函数“private:bool__thiscall SF::Priv::ImageLoader::WriteJPG(类STD::Basic_String,类STD::Basic_String,类STD:::Allocator>const&,类STD::Vector>const&,无符号int,无符号int)”(?WriteJPG@ImageLoader@Priv@SF@@@AAE_NABV?$Basic_String@du?$Basic_String@du?z)Dungeon3.0c:\users\hhgra\source\repos\dungeon3.0\dungeon3.0\sfml-graphics-s-d.lib(imageloader.cpp.obj)1
严重性代码描述项目文件行抑制状态错误LNK2019函数“private:bool__thiscall sf::priv::imageloader::writejpg(类std::basic_string,类std::basic_string,类std::allocator>const&,类std::vector>const&,无符号int,无符号int)”(?writejpg@imageloader@priv@sf@@aae_nabv?$basic_string@du?$char_traits@d@std@v?$allocator@d@2@@std@@abv?z)Dungeon3.0c:\users\hhgra\source\repos\dungeon3.0\dungeon3.0\sfml-graphics-s-d.lib(imageloader.cpp.obj)1
严重性代码描述项目文件行抑制状态错误LNK2019函数“private:bool__thiscall sf::priv::imageloader::writejpg(类std::basic_string,类std::basic_string,类std::allocator>const&,类std::vector>const&,无符号int,无符号int)”(?writejpg@imageloader@priv@sf@@aae_nabv?$basic_string@du?$char_traits@d@std@v?$allocator@d@2@@std@@abv?z)Dungeon3.0c:\users\hhgra\source\repos\dungeon3.0\dungeon3.0\sfml-graphics-s-d.lib(imageloader.cpp.obj)1
严重性代码描述项目文件行抑制状态错误LNK2019函数“private:bool__thiscall sf::priv::imageloader::writejpg(类std::basic_string,类std::basic_string,类std::allocator>const&,类std::vector>const&,无符号int,无符号int)”(?writejpg@imageloader@priv@sf@@aae_nabv?$basic_string@du?$char_traits@d@std@v?$allocator@d@2@@std@@abv?z)Dungeon3.0c:\users\hhgra\source\repos\dungeon3.0\dungeon3.0\sfml-graphics-s-d.lib(imageloader.cpp.obj)1
严重性代码描述项目文件行抑制状态错误LNK2019函数“private:bool__thiscall sf::priv::imageloader::writejpg(类std::basic_string,类std::basic_string,类std::allocator>const&,类std::vector>const&,无符号int,无符号int)”(?writejpg@imageloader@priv@sf@@@aae_nabv?$basic_string@du?$char_traits@d@std@v?$allocator@d@2@@std@@abv Dungeon3.0C:\users\hhgra\source\repos\dungeon3.0\dungeon3.0\sfml-graphics-s-d.lib(imageloader.cpp.obj)1
严重性代码描述项目文件行抑制状态错误LNK2019函数“private:bool__thiscall sf::priv::imageloader::writejpg(类std::basic_string,类std::basic_string,类std::allocator>const&,类std::vector>const&,无符号int,无符号int)”(?writejpg@imageloader@priv@sf@@aae_nabv?$basic_string@du?$char_traits@d@std@v?$allocator@d@2@@std@@abv?z)Dungeon3.0c:\users\hhgra\source\repos\dungeon3.0\dungeon3.0\sfml-graphics-s-d.lib(imageloader.cpp.obj)1
严重性代码描述项目文件行抑制状态错误LNK2019函数“private:bool__thiscall sf::priv::imageloader::writejpg(类std::basic_string,类std::basic_string,类std::allocator>const&,类std::vector>const&,无符号int,无符号int)”(?writejpg@imageloader@priv@sf@@aae_nabv?$basic_string@du?$char_traits@d@std@v?$allocator@d@2@@std@@abv?z)Dungeon3.0c:\users\hhgra\source\repos\dungeon3.0\dungeon3.0\sfml-graphics-s-d.lib(imageloader.cpp.obj)1
严重性代码描述项目文件行抑制状态错误LNK2019函数“private:bool__thiscall sf::priv::imageloader::writejpg(类std::basic_string,类std::basic_string,类std::allocator>const&,类std::vector>const&,无符号int,无符号int)”(?writejpg@imageloader@priv@sf@@aae_nabv?$basic_string@du?$char_traits@d@std@v?$allocator@d@2@@std@@abv?z)Dungeon3.0c:\users\hhgra\source\repos\dungeon3.0\dungeon3.0\sfml-graphics-s-d.lib(imageloader.cpp.obj)1
严重性代码说明项目文件行抑制状态错误LNK1120 9未解决外部Dungeon3.0C:\users\hhgra\source\repos\Dungeon3.0\debug\dungeon3.0.exe 1
似乎您使用的是一个过时的SFML版本,它仍然依赖于libjpeg,但您没有链接它(因为在较新的版本中不再需要它)。
理想情况下,从官方存储库下载最新的源代码并使用CMake进行编译,这将为您提供兼容和最新的文件。
静态链接方法:静态链接的时候,载入代码就会把程序会用到的动态代码或动态代码的地址确定下来 静态库的链接可以使用静态链接,动态链接库也可以使用这种方法链接导入库 动态链接方法:使用这种方式的程序并不在一开始就完成动态链接,而是直到真正调用动态库代码时,载入程序才计算(被调用的那部分)动态代码的逻辑地址,然后等到某个时候,程序又需要调用另外某块动态代码时,载入程序又去计算这部分代码的逻辑地址,所以,这
在编译Linux程序时,我们经常会看到动态链接和静态链接这两个术语。这两个术语中是我Linux的共享函数库(shared libraries)相关的。共享函数库就象Windows系统里的.dll文件,它里面包含有很多程序常用的函数。为了方便程序开发和减少程序的冗余,程序当中就不用包含每个常用函数的拷贝,只是在需要时调用系统中共享函数库中常函数功能即可。这种方式我们称之为动态链接(Dynamical
问题内容: 我在Linux,GCC中使用Boost库。安装和构建Boost之后,我发现使用Regex和Thread的程序使用共享的Boost库。就我的目的而言,我需要静态链接。如何更改链接类型?我应该重新构建Boost,还是可以通过在自己的项目或Boost配置文件中定义一些常量来设置链接类型? 问题答案: 只需添加到您的构建调用即可。这是一个简单的示例会话: 请注意,静态二进制文件的大小为1.5m
问题内容: 实际上,Linux上的 -static gcc标志现在不起作用。让我从GNU libc常见问题中引用: 2.22。 即使是静态链接程序也需要一些共享库,这对我来说是不可接受的。我能做什么? {AJ} NSS(有关详细信息,请键入“ info libc“名称服务开关”“)在没有共享库的情况下无法正常工作。NSS只需更改一个配置文件(/etc/nsswitch.conf)即可使用不同的服务
使用clang链接AFN .a静态库 AFN静态库的生成不是重点, 以链接使用为主 一、准备 在staticLib文件夹下新建test.m文件, 代码如下 #import <Foundation/Foundation.h> #import <AFNetworking.h> int main() { AFHTTPSessionManager *manager = [AFHTTPSe
主要内容:静态链接库,动态链接库,总结我们知道,C、C++程序从源文件到生成可执行文件需经历 4 个阶段,分别为预处理、编译、汇编和链接,本节将重点围绕链接阶段,对静态链接库和动态链接库做详细的讲解。 有关链接操作的具体细节,感兴趣的读者可阅读《 到底什么是链接,它起到了什么作用?》和《 符号——链接的粘合剂》这两节。总的来说链接阶段要完成的工作,就是将同一项目中各源文件生成的目标文件以及程序中用到的库文件整合为一个可执行文件。 通过