C++ .EXE能否使用间接导入的DLL中的符号?
我有一个依赖于Common.dll的Sample.exe项目。我需要在Sample.exe和Common.dll中使用libcurl.dll。我是否需要将libcurl.lib同时导入Sample.exe和Common.dll,或者如果libcurl.dll是由Common.dll导入的,.exe模块是否能够使用libcurl.dll。C++ .EXE能否使用间接导入的DLL中的符号?,c++,c,winapi,dll,dependencies,C++,C,Winapi,Dll,Dependencies,我有一个依赖于Common.dll的Sample.exe项目。我需要在Sample.exe和Common.dll中使用libcurl.dll。我是否需要将libcurl.lib同时导入Sample.exe和Common.dll,或者如果libcurl.dll是由Common.dll导入的,.exe模块是否能够使用libcurl.dll。 到目前为止,在我的实验中,我在Sample.exe项目构建中遇到了“未解决的外部”错误,尽管它引用了引用libcurl.dll的Common.dll。不,它不能
到目前为止,在我的实验中,我在Sample.exe项目构建中遇到了“未解决的外部”错误,尽管它引用了引用libcurl.dll的Common.dll。不,它不能。链接器不会在您导入的DLL中搜索它自己导入的其他DLL中的符号,也不会解决这种间接导入。您还必须链接libcurl.dll。您需要这两个文件中的引用。运行时只会使用libcurl.dll的一个副本。链接器不会解析可传递的导入。如果Sample.exe需要引用从libcurl.dll导出的符号,则需要链接libcurl的导入库。