我認爲這是一個簡單的問題,但我不知道如何去做。我有一個C++項目,我正在編譯和運行在Windows上,但我遇到了我正在使用的NiTE2庫的問題。當NiTE2調用安裝所需的特定功能時,它將搜索位於「./NiTE2/s.dat」處的「s.dat」文件。問題是當我在Visual Studio環境中運行它時,它試圖搜索路徑「。\ NiTE2/s.dat」。這不是混合斜線的錯字。該程序可以理解,找不到必要的文件。但是,當我在Git Bash下運行我的程序時,它執行得很好。Visual Studio文件名
使用Git Bash的作品,但它使調試非常困難,有誰知道如何或如果有可能讓Visual Studio運行時環境使用正斜槓而不是Windows默認反斜槓的路徑?定義在哪裏可以找到「s.dat」的路徑被隱藏在我無法編輯的專有代碼中,因此解決方案無法使用。
邊注:我運行Windows 10如果反正幫助英寸我試圖讓VSCODE工作時進行bash調試,但目前這也是一場艱苦的戰鬥。
混合斜線在Windows上工作得很好。無法找到文件當然是非常普遍的,默認工作目錄是最糟糕的全局變量。不要使用相對路徑,從程序的安裝目錄創建一個完整的路徑,這樣無論放在哪裏都可以工作,而且完全不依賴於配置。 –
@HansPassant我同意你的觀點,相對路徑是一個糟糕的主意,我總是在我的代碼中使用絕對路徑,但正如我所提到的,我無法修改代碼的那部分。這是埋在NiTE2庫中,其中我只有最終的編譯版本。如果混合斜線在Windows上可以接受任何其他想法,爲什麼它抱怨沒有在Visual Studio環境中找到該文件,但在git bash和命令提示符下沒有問題? – Wired365
那麼,餵食這隻野獸並且給它吃它想要的東西。在你的代碼中明確地設置工作目錄,這樣你就知道它總是正確的。使用SetCurrentDirectory()或'_chdir()'。 –