[英]Correcting case of Visual C++ __FILE__ macro
與這個問題有關。
我們有一個代碼生成工具(用於跨平台C ++源文件),我需要更正____FILE____宏返回的路徑以具有正確的大小寫,以便Windows下生成的源文件仍可在區分大小寫的系統(例如Linux和Windows)上編譯。 OSX)。
我正在使用Qt,並嘗試了QFileInfo和QDir的一些組合,但它們似乎都保留了傳遞給它的小寫路徑。
有什么建議么?
謝謝
我有一些建議,但是我不確定是否可以使用。
如果您還沒有嘗試過。 使用QDir在目錄中搜索正確的路徑。
假設您要包含文件“ C:/Programming/myProject/oneSource.cpp”,然后執行以下操作:將傳入路徑拆分為“ c:”,“ programming”,“ myproject”,“ onesource”的.cpp”。
然后,您可以使用QDir在“ C:”中搜索(忽略大小寫)與“ programming”匹配的文件夾,但是要使用從QDir返回的路徑。 沖洗並重復。 這樣,您並沒有真正將錯誤的路徑傳遞給QT,它只會使用它本機讀取的路徑。
嘗試完全相同的方法,但是使用不同的庫,例如dirent或本機Windows API。
您知道工具中的文件名,因此根本沒有理由使用__FILE__
宏。 只需發出正確的文件名作為字符串文字即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.