簡體   English   中英

C 編程對‘WinMain@16’的未定義引用

[英]C Programming undefined reference to `WinMain@16'

我正在嘗試使用帶有記事本的 gcc (tdm-1) 4.7.1 和 Windows 10 上的命令提示符編譯以下代碼。以前將 bin 文件夾路徑添加到全局變量,但是當我嘗試編譯時出現以下錯誤“未定義引用到`WinMain@16'"。但是相同的代碼在代碼塊上也能正常工作!。

PS:我像這樣編譯它“cd /d path of code then gcc filename.c”

#include<stdio.h>

int main(){

    printf("Hello world");
    return 0;
}

我偶然發現出了什么問題。通過記事本編寫代碼后,我忘記保存文件 ctrl+s,所以我只是嘗試編譯空文件。

這很奇怪。

gcc --version

gcc.exe (tdm64-1) 5.1.0 版權所有 (C) 2015 Free Software Foundation, Inc。這是免費軟件; 請參閱復制條件的來源。 沒有保修; 甚至不是為了特定目的的適銷性或適合性

我沒有任何選擇

gcc filename.c
a.exe

你好,世界

但是請注意

gcc -municode filename.c

生成鏈接器錯誤

D:/bin-win64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_w.o) : 在函數wmain : C:/crossdev/src/mingw-w64-v4-git/mingw-w64-crt/crt/crt0_w.c:23 : 未定義引用wWinMain collect2.exe :錯誤: ld返回 1 個退出狀態

MinGW 中的啟動函數是mainCRTStartup ,它調用 main。 如果沒有用戶指定main ,則運行時會為您提供一個調用WinMain

所以你的應用程序也應該從命令行編譯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM