Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ .EXE能否使用间接导入的DLL中的符号?_C++_C_Winapi_Dll_Dependencies - Fatal编程技术网

C++ .EXE能否使用间接导入的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。不,它不能

我有一个依赖于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。

不,它不能。链接器不会在您导入的DLL中搜索它自己导入的其他DLL中的符号,也不会解决这种间接导入。您还必须链接libcurl.dll。

您需要这两个文件中的引用。运行时只会使用libcurl.dll的一个副本。链接器不会解析可传递的导入。如果Sample.exe需要引用从libcurl.dll导出的符号,则需要链接libcurl的导入库。