我試過使用與visual studio一起工作的/Fc
標誌,但得到一條消息,說明它不被intel編譯器識別。如何將__FILE__作爲英特爾C++編譯器的絕對路徑
我想寫一個測試,使用相對於cpp測試文件的目錄中的數據,但可執行文件將部署在其他地方,所以很難得到它相對於exe文件...因此,我想編譯時的絕對路徑!我怎麼能得到一個相對於當前cpp文件的路徑?
我試過使用與visual studio一起工作的/Fc
標誌,但得到一條消息,說明它不被intel編譯器識別。如何將__FILE__作爲英特爾C++編譯器的絕對路徑
我想寫一個測試,使用相對於cpp測試文件的目錄中的數據,但可執行文件將部署在其他地方,所以很難得到它相對於exe文件...因此,我想編譯時的絕對路徑!我怎麼能得到一個相對於當前cpp文件的路徑?
這顯然是英特爾編譯器中的一個錯誤,它默默接受,然後忽略應該觸發絕對路徑的/ FC標誌。我可以找到的最佳解決方案來自於我在Intel論壇上發佈的這個主題:
要讓__FILE__生成絕對路徑,它必須位於通過「附加包含目錄」包含的頭文件中這必須是絕對路徑。
例如創建一個文件test.h這是一個目錄「test_include」,這是不是來自直接訪問你的include路徑,則包括文件使用時:
#include "test.h"
,並確保該目錄是在其他指定include目錄部分絕對路徑,你可能需要做的宏一些擺弄......我包括線路是這樣的:
"$(InputDir)..\include\test_include"
你試過__BASE_FILE__
?
它在http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/lin/main_cls_lin.pdf在第170頁有記錄。它不是ANSI標準,但gcc也支持它。用一些骯髒的#ifdef
技巧可以使它適用於所有的編譯器。
不幸的是,我沒有英特爾編譯器來檢查它。
感謝偉大的挖入不良記錄功能。不幸的是,這返回與__FILE__相同的東西,這是一個相對文件路徑。 – 2010-09-10 07:53:22