[問題] (新手)debug問題

看板C_and_CPP作者 (森)時間15年前 (2010/07/06 14:28), 編輯推噓5(5028)
留言33則, 4人參與, 最新討論串1/1
我是用vc2008編譯的 要試著跑下面的程式 #include <windows.h> #include <mmsystem.h> //相依性已加上winmm.lib void main(){ PlaySound("C:\\r.wav",NULL, SND_FILENAME | SND_ASYNC); //mciSendString("play C:/r.wav", "", NULL, NULL); return; } mciSendString 跟 PlaySound 的編譯都出現下面的結果 LINK : 最後的累加連結找不到或未建置,正在執行完整連結 最後還寫0錯誤0警告 可是執行的時候就當了 不知該如何是好~>< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.208.193

07/06 14:49, , 1F
\\ 才對吧?
07/06 14:49, 1F

07/06 14:53, , 2F
筆誤@@
07/06 14:53, 2F
※ 編輯: b26168 來自: 140.127.208.193 (07/06 14:54)

07/06 15:32, , 3F
link error
07/06 15:32, 3F

07/07 00:25, , 4F
為什麼還會linker error阿 還有缺少什麼嗎@@?
07/07 00:25, 4F

07/07 00:26, , 5F
應該不是link error, 這會是build time就抓到的, 這樣會
07/07 00:26, 5F

07/07 00:26, , 6F
讓executable binary根本不會產生出來; 所以能build出
07/07 00:26, 6F

07/07 00:27, , 7F
exe, 執行時卻當掉, 比較可能是需要的run-time library
07/07 00:27, 7F

07/07 00:29, , 8F
找不到, 或者是本來環境有提供的東西卻沒了, 因為和這個
07/07 00:29, 8F

07/07 00:29, , 9F
lib不熟, 所以只能大概這樣推測....@_@"
07/07 00:29, 9F

07/07 00:40, , 10F
我剛剛在DEV試 除了有警告外 是可以的跑的
07/07 00:40, 10F

07/07 00:41, , 11F
但是VC2008一樣是不行> < 可是我真正要用的是VC阿...ˊˋ
07/07 00:41, 11F

07/07 00:41, , 12F
謝VictorTom大的解說~
07/07 00:41, 12F

07/07 01:17, , 13F
疑!? DevC++可以跑喔?? 您可以試著用VC的Debugger trace
07/07 01:17, 13F

07/07 01:17, , 14F
看看是跑到什麼地方有問題嗎?? 如果程式起來就錯誤然後
07/07 01:17, 14F

07/07 01:17, , 15F
結束, 也可以把error code或exit code拿來查看看@_@"
07/07 01:17, 15F

07/07 01:21, , 16F
我只單跑一行mcisendstring DEV能跑這個 ㄧ樣不能playsound
07/07 01:21, 16F

07/07 01:22, , 17F
not found or not built by the last incremental link;
07/07 01:22, 17F

07/07 01:23, , 18F
performing full link 以上是VC的error
07/07 01:23, 18F

07/07 01:23, , 19F
PS : 下午我用中文版VC 晚上我用的是英文版的@@
07/07 01:23, 19F

07/07 01:38, , 20F
你貼的這個不是error, 它只是linker在報一些資訊給你知
07/07 01:38, 20F

07/07 01:39, , 21F
道; 最後.exe應該還是有build出來, 你是直接按綠[|>]執
07/07 01:39, 21F

07/07 01:39, , 22F
行嗎?_?
07/07 01:39, 22F

07/07 01:45, , 23F
剛剛用VC2005 build了跑了一下, 沒什麼特別的問題,
07/07 01:45, 23F

07/07 01:46, , 24F
除了檔名的string要換一下: PlaySound("C:\\r.wav" =>
07/07 01:46, 24F

07/07 01:47, , 25F
PlaySound(L"C:\\r.wav"或PlaySound(TEXT("C:\\r.wav")
07/07 01:47, 25F

07/07 01:48, , 26F
本來想用_T的, 可是不知道為什麼build時說不認得_T @@"
07/07 01:48, 26F

07/07 03:32, , 27F
我就按ctrl+F5 然後下面的視窗寫的@@ 有執行 但是就是當掉
07/07 03:32, 27F

07/07 03:33, , 28F
我是指micsendstring 然後我加了L之後
07/07 03:33, 28F

07/07 03:33, , 29F
error C2664: 'PlaySoundA' : cannot convert parameter 1
07/07 03:33, 29F

07/07 03:33, , 30F
'const wchar_t [17]' to 'LPCSTR'
07/07 03:33, 30F

07/07 03:33, , 31F
Types pointed to are unrelated; conversion requires re
07/07 03:33, 31F

07/07 03:34, , 32F
reinterpret_cast, C-style cast or function-style cast
07/07 03:34, 32F

07/07 03:34, , 33F
TEXT的話 就跟一開始依樣的問題~ˊˋ
07/07 03:34, 33F
文章代碼(AID): #1CCiqEB7 (C_and_CPP)