簡體   English   中英

編譯時未解析的外部符號“for_realloc_lhs”

[英]Unresolved external symbol “for_realloc_lhs” at compilation

我正在嘗試使用預構建的 Fortran 庫編譯 SDK。 SDK 需要 Intel Fortran Redistributables 庫 parallel studio XE 2017。嘗試編譯 SDK 的示例文件時,出現多個錯誤: LNK2001“未解析的外部符號 _for_realloc_lhs”

從我讀到的內容來看,這可能是由於 SDK 的 fortran 庫使用過舊的 Intel fortran 編譯器版本進行編譯造成的。 請參閱此處),但是我不擁有 SDK 的 fortran 源,因此我無法重新編譯它們。

我想知道我是否在這里遺漏了某些東西,或者 SDK 的 fortran 庫是否暗示使用錯誤的工具構建。

[編輯] 我讀了你所說的(感謝你非常清楚的解釋),看來我的問題與你剛剛解釋的很接近,我似乎鏈接到 11.1 版的英特爾可再發行組件。 但是,我在英特爾網站上獲得的庫似乎沒有包含鏈接器正在尋找的所有文件。 (或者至少我找不到它們)。 有使用的命令visual studio。 不幸的是,我目前無法生成日志,因為它超過了最大消息大小。

這是日志的摘要版本

1>------ Build started: Project: Tutorials, Configuration: Debug Win32 ------
1>
1>  Searching libraries
1>      Searching ..\..\lib\CK_IO.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\user32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\gdi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\winspool.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\comdlg32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\advapi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\shell32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\ole32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\oleaut32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbc32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbccp32.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\legacy_stdio_definitions.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\LIBCMT.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\OLDNAMES.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\libvcruntime.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.10150.0\ucrt\x86\libucrt.lib:
1>      Searching ..\..\lib\CK_IO.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\user32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\gdi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\winspool.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\comdlg32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\advapi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\shell32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\ole32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\oleaut32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbc32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbccp32.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\legacy_stdio_definitions.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\LIBCMT.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\OLDNAMES.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\libvcruntime.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.10150.0\ucrt\x86\libucrt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\ifconsol.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libifcoremt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libmmt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libirc.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\svml_dispmt.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\ImageHlp.lib:
1>      Searching ..\..\lib\CK_IO.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\user32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\gdi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\winspool.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\comdlg32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\advapi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\shell32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\ole32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\oleaut32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbc32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbccp32.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\legacy_stdio_definitions.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\LIBCMT.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\OLDNAMES.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\libvcruntime.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.10150.0\ucrt\x86\libucrt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\ifconsol.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libifcoremt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libmmt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libirc.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\svml_dispmt.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\ImageHlp.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\legacy_stdio_wide_specifiers.lib:
1>      Searching ..\..\lib\CK_IO.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\user32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\gdi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\winspool.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\comdlg32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\advapi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\shell32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\ole32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\oleaut32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbc32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbccp32.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\legacy_stdio_definitions.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\LIBCMT.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\OLDNAMES.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\libvcruntime.lib:
1>
1>  Finished searching libraries
1>
1>  Searching libraries
1>      Searching ..\..\lib\CK_IO.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\user32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\gdi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\winspool.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\comdlg32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\advapi32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\shell32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\ole32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\oleaut32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbc32.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\odbccp32.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\legacy_stdio_definitions.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\LIBCMT.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\OLDNAMES.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\libvcruntime.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.10150.0\ucrt\x86\libucrt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\ifconsol.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libifcoremt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libmmt.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\libirc.lib:
1>      Searching C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\Lib\ia32\svml_dispmt.lib:
1>      Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\ImageHlp.lib:
1>      Searching C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\legacy_stdio_wide_specifiers.lib:
1>
1>  Finished searching libraries
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

我也想提一提,安裝在其可再分發應該的目錄(如提到這里:“REDIST [IA32 | Intel64位] \\ mpirt(Fortran的包)”)沒有libifcore庫命名...其實,幾乎沒有任何東西看起來像我需要鏈接的東西。)提到的文件夾的圖像

首先,尼特。 錯誤來自鏈接步驟,而不是編譯。 與您對用於庫的編譯器版本“太舊”的猜測相反,相反,它是您鏈接的一組英特爾庫(可再發行組件)太舊(或丟失?)如果您真正鏈接的是 2017 -version 庫,該例程應該在 libifcore 中。 在鏈接步驟中,仔細檢查您的鏈接方式以及您命名的庫(如果有)。

查看發生了什么的一種簡單方法是將鏈接器選項 /verbose 添加到鏈接步驟。 您尚未展示如何構建應用程序以及使用哪個命令進行鏈接。 如果您使用的是 Visual Studio,請將項目屬性Linker > General > Show Progress為“顯示所有進度消息”。 如果使用 ifort 命令,請在末尾添加/link /verbose如果使用其他命令,請查看其文檔以了解應如何指定鏈接選項。 捕獲鏈接器輸出(構建日志或其他) - 它將命名它搜索的每個庫以及哪些符號來自何處。

這可能就像確保在鏈接步驟中以 SDK 庫命名英特爾庫一樣簡單。

如果這沒有幫助,請編輯您的問題以添加您用於鏈接的命令(編譯無關緊要)並顯示實際輸出(不要總結)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM