Compile and link 3rd party library in Visual Studio [duplicate]

╄→尐↘猪︶ㄣ 提交于 2019-11-29 03:16:25

问题


This question already has an answer here:

  • Compiling and linking third party libraries in VS 2015 [duplicate] 1 answer

I am fairly new to C programming and I haven't used Visual Studio or a third party library before. I'm trying to do something simple with FMOD and need to link fmodvclib, fmod.h, and of course fmod.dll.

I've put fmodex_vc.lib in the additional dependencies and the path to the low level libraries in the include and library directories as well as additional include libraries but when I build it gives me:

"cannot open source file "fmod.h"
identifier "FSOUND_SAMPLE" is undefined
Cannot open include file: 'fmod.h': No such file or directory

but even weirder is:

cannot open source file "stdio.h"

here is the code:

#include "fmod.h"
#include <stdio.h>

FSOUND_SAMPLE* handle;

int main(void)
{
    int input;

    FSOUND_Init(44100, 32, 0);

    handle = FSOUND_Sample_Load(0, "test.ogg", 0, 0, 0);
    FSOUND_PlaySound(0, handle);

    while (input != 0)
    {
        scanf_s("&d", &input);
    }

    FSOUND_Sample_Free(handle);
    FSOUND_Close();
}

Any help would be appreciated!


回答1:


To link against third party libraries you usually have to do 3 things:

1. You have to add the Include Directory.

In Project > Properties > C/C++->General > Additional Include Directories

Click Edit, and enter the path to the directory where the file "fmod.h" is located.

2. You have to link against the *.lib file.

In Project > Properties > Linker > General > Additional Library Directories, click Edit and enter the path to your library files.

In Project > Properties > Linker > Input > Additional Dependencies, click Edit, add the filename of the library you want to link against (in this case this would be most likely "fmodvc.lib")

3. You have to provide the *.dll in your project directory

That your programm will run successfully it has to find the *.dll file at runtime. You can either place it in a folder referenced by the PATH variable, or in the PWD of your process. This would be right beside your *.vcxproj files.

If you are linking statically you can skip step 3, if you are loading the dll file dynamically you can skip step 2.



来源:https://stackoverflow.com/questions/35008426/compile-and-link-3rd-party-library-in-visual-studio

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