2017-08-16 104 views
1

我已經完成以下操作,嘗試在macOS上爲C++設置開發環境,但徒勞無功。無法在新安裝的Visual Studio代碼上運行C++代碼

  1. 我從微軟網站下載了Visual Studio代碼並正確安裝。

  2. 我安裝了ms-vscode.cpptools和mitaki28.vscode-clang。

  3. 我安裝了gdb。

以下是我得到了警告:

LD:警告:忽略文件/用戶/安迪/文檔/ VS代碼C++ /世界您好/ .vscode/tasks.json,文件是爲不受支持的文件格式(0x7B 0x0A 0x20 0x20 0x20 0x20 0x22 0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x22 0x3A)而不是被鏈接的體系結構(x86_64):/ Users/andy/Documents/VS代碼C++/Hello World/.vscode /tasks.json

Undefined symbols for architecture x86_64: 
    "_main", referenced from: 
    implicit entry/start for main executable 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

編輯1:我的平臺是macOS。

編輯2:我試圖建立最簡單的Hello World項目時出現問題,因此問題不能成爲我的C++代碼。但我幾乎是新手,所以我不知道.json的東西是什麼。

編輯3:我認爲這個問題可能在於launch.json文件,所以這是我的文件:

{ 
"version": "0.2.0", 
"configurations": [ 
    { 
     "name": "C++ Launch (GDB)", 
     "type": "cppdbg", 
     "request": "launch", 
     "targetArchitecture": "x64", 
     "program": "${file}.out", 
     "args": [], 
     "stopAtEntry": false, 
     "cwd": "${workspaceRoot}", 
     "environment": [], 
     "externalConsole": true, 
     "preLaunchTask": "g++", 
     "miDebuggerPath": "/usr/local/bin/gdb" 
    } 
] 

}

+0

0x7B 0x0A 0x20 0x20 0x20 0x20 0x22 0x76 0x65 0x72 0x73 0x6 0x6E 0x6E 0x22 0x3A - > something something'version':''?那很奇怪,爲什麼它把JSON文件當作一些二進制對象/可執行文件? – paxdiablo

+0

什麼操作系統/平臺? – Ben

+1

Ref @paxdiablo看起來像指定了Json文件作爲要鏈接的目標文件。看看構建文件。 – Ben

回答

0

看來,你只是沒有{somefile}.cpp文件您含有

int main() { 
    ... 
    return 0; 
} 

項目(或文件不被編譯)

功能。

您可以放心地忽略tasks.json警告 - 它被錯誤地傳遞給鏈接器輸入,鏈接器忽略該文件。

+0

我有一個名爲HelloWorld.cpp的文件,並有一個int main()來打印Hello World。 –

+0

然後它只是沒有被編譯出於某種原因。請發佈完整的建設過程。 –

+0

上面顯示的警告是VS代碼OUTPUT窗口中的完整輸出。在其他窗口中,根本沒有。 –