tôi sau tuto:Tương đương với tùy chọn gcc's -mwindows trong cmake là gì?
http://zetcode.com/tutorials/gtktutorial/firstprograms/
Nó hoạt động nhưng mỗi lần tôi nhấp đúp chuột vào tập tin thực thi, có một giao diện điều khiển mà tôi không muốn nó ở đó.
Làm cách nào để thoát khỏi bảng điều khiển đó?
Tôi cố gắng này:
add_executable(Cmd WIN32 cmd.c)
Nhưng có lỗi nghiêm trọng này:
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function ___tmainCRTStartup
Cmd.exe : fatal error LNK1120: 1 unresolved externals
Trong khi sử dụng gcc làm việc trực tiếp:
gcc -o Cmd cmd.c -mwindows ..
Tôi đoán nó có cái gì để làm với chức năng nhập: int main(int argc, char *argv[])
, nhưng tại sao gcc hoạt động?
Tôi làm cách nào để nó hoạt động với cmake
?
CẬP NHẬT
Hãy để tôi dán mã nguồn vào đây để tiện theo dõi:
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
return 0;
}
UPDATE2
Tại sao gcc -mwindows
công trình nhưng add_executable(Cmd WIN32 cmd.c)
không?
Có thể đó không phải là tương đương với -mwindows
trong cmake?
Nhưng tôi có thể sử dụng gcc để xây dựng một cửa sổ programe với 'main', tại sao không thể' cmake'? BTW, bạn có thể xây dựng chức năng 'WinMain' của propper không? Tôi đã cố gắng thay đổi 'main' thành' WinMain' nhưng vẫn không hoạt động. – Gtker
'int main (int, char **)' là phiên bản giao diện điều khiển của điểm vào. 'int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int)' là phiên bản cửa sổ của điểm vào. – Blindy
Về câu hỏi đầu tiên của bạn, cmake thực hiện chính xác những gì bạn yêu cầu. Bạn không nên hỏi "tại sao không thể cắn?", Bạn nên hỏi "tại sao tôi không thể nói với cmake ...?". – Blindy