Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Problem with different dll types  (Read 3658 times)

0 Members and 1 Guest are viewing this topic.

M squared

  • Newbie
  • *
  • Posts: 22
    • View Profile
Problem with different dll types
« on: February 18, 2013, 08:12:05 pm »
Currently I have a program that uses libsndfile only. I want to also use sfml with this program, but when I try to use objects from the audio library I get an error that I believe is basically telling me i'm using two different types of dlls.

1>sfml-audio-s.lib(SoundRecorder.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
1>sfml-audio-s.lib(AudioDevice.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
1>sfml-audio-s.lib(Listener.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
1>sfml-system-s.lib(Thread.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
1>sfml-system-s.lib(Sleep.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
1>sfml-system-s.lib(Platform.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>C:\Users\Menart\Documents\Visual Studio 2010\Projects\Science Fair 2012\Debug\Science Fair 2012.exe : fatal error LNK1319: 6 mismatches detected

The problem is I have no idea what I'm supposed to do about it. I only get this error when using the extlib dll openal32.dll. Is there another version I'm supposed to be using or am I screwing something else up?

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11035
    • View Profile
    • development blog
    • Email
Re: Problem with different dll types
« Reply #1 on: February 18, 2013, 08:18:08 pm »
You're mixing debug and release mode.
You're in debug mode, you can not use the release libraries.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

M squared

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Problem with different dll types
« Reply #2 on: February 19, 2013, 12:11:22 am »
Errrr.... this is all a little foreign to me. So do I need to find a different dll, change a mode setting, or just not use it?

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11035
    • View Profile
    • development blog
    • Email
Re: Problem with different dll types
« Reply #3 on: February 19, 2013, 12:28:14 am »
Well then it seems you're lacking some important knowledge on how to use your development tools. This post might give you a bit an insight on how compiler & linker work. ;)

If you've set Visual Studio to debug mode, then you have to link all the SFML modules, that use the -d suffix, like sfml-graphics-s-d.lib.
If you're in release mode, you'll have to link the ones without a suffix (except the -s for static).
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

M squared

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Problem with different dll types
« Reply #4 on: February 19, 2013, 11:26:29 pm »
Thanks, that post was very informative. I'm in debug mode, but I don't see any other version of the openal32.dll file... Also, when I use this file and the libsndfile-1.dll in another program which is also in debug mode, it works fine.

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11035
    • View Profile
    • development blog
    • Email
Re: Problem with different dll types
« Reply #5 on: February 20, 2013, 12:04:54 am »
While using SFML, you won't need to link against OpenAL32 nor libsndfile, they get linked to the sfml-audio. Just make sure to link to sfml-audio-d and you should be fine.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

M squared

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Problem with different dll types
« Reply #6 on: February 20, 2013, 12:17:27 am »
yes but when I did that I got an error saying "openal32.dll not found". I didn't link the dll, i put it in the debug folder. Is that part of my problem? Also, I'm using parts in libsndfile in a way that is independent of sfml. So I'd added the libsndfile dll to my program by itself earlier, and also am using the header file. I don't know if this would affect anything but I thought I should mention it.

Update: I tried creating an new project and copying all my code and such into it and relinking it and that seems to be working. This leads me to wonder if I did something weird to the original project.
« Last Edit: February 20, 2013, 12:34:00 am by M squared »