C++生成DLL时附加包含目录如何处理?

c++程序的附加包含目录中有opencv的路径和调用的源码路径
我要将程序写成dll让qt程序调用
其中的附加包含目录如何处理,因为目录中是绝对路径,换别的电脑就会出现错误
这种情况该怎么办?

调用时目录不用绝对路径,用相对路径

在project下新建一个文件夹,dll方其中,输入此相对路径就可以了。

VS里面,C++工程中,项目属性->配置属性中,有两个名字相似的目录:附加库目录与附加包含目录。

 附加库目录在链接器->常规下,这里是要填入依赖库的路径的,例如:若依赖库放在生成路径下,则可以填入$(OutDir)。填入附加库

目录的路径后,则可以在下面的输入->附加依赖项中,填入需要依赖的库文件,例如:*.lib;%(AdditionalDependencies)。

 附加包含目录在C/C++->常规下,这个目录的意思和VC 6.0中的Inlude类似,用来填入需要包含进来的目录。

 网上有人说编译器在搜索附加依赖项时,会先在附加库目录中找,如果找不到,则会在附加包含目录中找,这两个目录区别在于编译

器搜索的先后,经过试验,发现并不是这样的,附加库目录里面不填依赖项的路径,而 仅在在附加包含目录中填入,编译会提示找不到

*.dll文件,所以还是要进行区分:依赖项的路径填入附加库目录中,至于其它头文件等需要包含进来的目录,则可填入附加包含目录中。

附加库目录在链接器->常规下,这里是要填入依赖库的路径的,例如:若依赖库放在生成路径下,则可以填入$(OutDir)。填入附加库

使用相对路径,而使用它的方法就是使用宏变量。

把绝对路径改为相对路径咯,然后把需要包含的代码连同工程一起拷贝就可以

路径用相对路径,相应的dll和lib文件放进去

参考:Qt使用第三方库

使用相对路径,最好的方法是动态加载,使用LoadDll()函数

哈哈,网上很多例子,
用相对路径是比较好的解决方法