【发布时间】:2023-03-20 08:07:01
【问题描述】:
链接我正在处理的项目时,链接器给出以下错误:
/usr/bin/ld: ../Includes and Libs/lib/libsfml21rca.a(SoundFile.o): undefined reference to symbol 'sf_read_short@@libsndfile.so.1.0'
/usr/bin/ld: note: 'sf_read_short@@libsndfile.so.1.0' is defined in DSO /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libsndfile.so so try adding it to the linker command line
/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libsndfile.so: could not read symbols: Invalid operation
问题是,libsndfile.so 已经在 libsfml21rca.a 之前链接了,所以我不知道问题出在哪里。
我正在使用 Code::Blocks 10.05
提前感谢您的帮助
编辑:
这里是链接命令:
g++ -L"包含和库/lib" -L"包含和库/lib/raknet3_731" -L"包含和库/lib/d3d_new/x86" -L"包含和库/lib/ogg" -L “包含和库/lib/sdl”-LBullet/lib -o(文件名)...(一大堆目标文件)-lGLEW -lglfw -lGL -lGLU -lpthread -lopenal -ljpeg -lfreetype -lsndfile -lXrandr - lsfml-system -lsfml-window -lsfml-audio ../Bullet/lib/LinearMath.lib ../Bullet/lib/BulletCollision.lib ../Bullet/lib/BulletDynamics.lib "../Includes 和 Libs/lib /raknet3_731/RakNetLibStaticDebug.lib" "../Includes and Libs/lib/libsfml21rca.a" ../../../../../../home/msabol/Desktop/SFML/sfml2st/sfmlVideo /sfmlVideo/bin/Release/libsfmlVideo.a ../../../../../../home/msabol/Desktop/SFML/sfmlVideo/bin/Release/libsfmlVideo.a
【问题讨论】:
-
尝试更改链接顺序?
-
我应该如何改变它?一切都以正确的顺序链接,或者至少看起来如此。
-
添加命令 C::B 用于链接到您的问题。 (请勿将其添加为评论!)
-
@H2CO3 我会记住这一点的。
标签: c++ linker codeblocks