2014-10-30 76 views
0

編譯+連接某些MIC(英特爾至強融核協處理器)代碼時,我收到了此警告。帶MIC的英特爾編譯器警告 - 缺少庫

x86_64-k1om-linux-ld: warning: libimf.so, needed by /usr/local/Intel/parallel_studio_xe_2013_sp1/composer_xe_2015.0.090/compiler/lib/mic/liboffload.so.5, not found (try using -rpath or -rpath-link) 
x86_64-k1om-linux-ld: warning: libsvml.so, needed by /usr/local/Intel/parallel_studio_xe_2013_sp1/composer_xe_2015.0.090/compiler/lib/mic/liboffload.so.5, not found (try using -rpath or -rpath-link) 
x86_64-k1om-linux-ld: warning: libirng.so, needed by /usr/local/Intel/parallel_studio_xe_2013_sp1/composer_xe_2015.0.090/compiler/lib/mic/liboffload.so.5, not found (try using -rpath or -rpath-link) 
x86_64-k1om-linux-ld: warning: libintlc.so.5, needed by /usr/local/Intel/parallel_studio_xe_2013_sp1/composer_xe_2015.0.090/compiler/lib/mic/liboffload.so.5, not found (try using -rpath or -rpath-link) 

但是,這些庫是存在的,代碼是編譯+鏈接和可執行文件。使用英特爾C++編譯器。

+0

「他們存在」。也許。鏈接程序找不到它們。通過使用-rpath-link來告訴它們在哪裏。 – 2014-10-30 14:09:04

+0

@CaptainObvlious不,這是一個完全不同的問題。 – 2014-10-30 17:27:56

+0

@ n.m。 CV縮回。 – 2014-10-30 17:39:54

回答

0

你不會說你正在使用什麼編譯器選項,但是如果你正在編譯代碼以在協處理器上本地運行(如果你在編譯器命令中使用-mmic),那麼這些消息是無害的。在協處理器上直接運行程序時,不使用卸載庫。我不知道爲什麼加載器認爲它需要這些庫,但它們不是必需的,因此它們不鏈接,因此加載器認爲庫缺失。沒有多少玩圖書館路徑會使警告消失。

+0

這是正確的。這些庫不是必需的,但我使用卸載,而不是-mmic。 – SScholl 2014-11-27 09:24:11