CLion 和 SDL WinMain@16 错误
CLion & SDL WinMain@16 error
我有一个问题。尝试使用库 SDL 1.2 时,我不断收到 WinMain@16 错误。 (我知道它已经过时了,但我暂时可以使用它)。当我使用 CMakeList.txt
在 CLion 中取消链接库时,一切都编译得很好
我也读过某处我需要添加以下标志,-lmingw32 -lSDLmain -lSDL -mwindows,但我不知道在哪里添加它们。将它们添加到 CMAKE_CXX_FLAGS 时出现错误,其中 Windows 找不到它。
这是我的代码。
CMakeList.txt
cmake_minimum_required(VERSION 3.3)
project(test2)
set(SDL_PATH "C:/SDK/SDL-1.2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
find_package(SDL REQUIRED)
include_directories(${SDL_INCLUDE_DIR})
set(SOURCE_FILES main.cpp)
add_executable(test2 ${SOURCE_FILES})
target_link_libraries(test2 ${SDL_LIBRARY})
我还有链接到
的内置缓存
SDL_LIBRARY = SDL-1.2/lib
SDL_INCLUDE_DIR = SDL-1.2/include
SDLMAIN_LIBRARY SDL-1.2/lib/libSDLmain.a
我的 C++ 代码 atm
#include <iostream>
#include "SDL/SDL.h"
using namespace std;
int main() {
SDL_Rect test = {0, 0, 0, 0};
return 0;
}
1) 确保你的主要方法是以下形式:
int main(int argc, char* argv[])
{
}
注意添加的参数
2) 您 link 您的静态库使用 target_link_libraries(target lib)
所以你必须 link 像这样:
target_link_libraries(test2 SDL SDLmain)
您可以从此处下载预构建的开发库。
我有一个问题。尝试使用库 SDL 1.2 时,我不断收到 WinMain@16 错误。 (我知道它已经过时了,但我暂时可以使用它)。当我使用 CMakeList.txt
在 CLion 中取消链接库时,一切都编译得很好我也读过某处我需要添加以下标志,-lmingw32 -lSDLmain -lSDL -mwindows,但我不知道在哪里添加它们。将它们添加到 CMAKE_CXX_FLAGS 时出现错误,其中 Windows 找不到它。
这是我的代码。
CMakeList.txt
cmake_minimum_required(VERSION 3.3)
project(test2)
set(SDL_PATH "C:/SDK/SDL-1.2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
find_package(SDL REQUIRED)
include_directories(${SDL_INCLUDE_DIR})
set(SOURCE_FILES main.cpp)
add_executable(test2 ${SOURCE_FILES})
target_link_libraries(test2 ${SDL_LIBRARY})
我还有链接到
的内置缓存SDL_LIBRARY = SDL-1.2/lib
SDL_INCLUDE_DIR = SDL-1.2/include
SDLMAIN_LIBRARY SDL-1.2/lib/libSDLmain.a
我的 C++ 代码 atm
#include <iostream>
#include "SDL/SDL.h"
using namespace std;
int main() {
SDL_Rect test = {0, 0, 0, 0};
return 0;
}
1) 确保你的主要方法是以下形式:
int main(int argc, char* argv[])
{
}
注意添加的参数
2) 您 link 您的静态库使用 target_link_libraries(target lib)
所以你必须 link 像这样:
target_link_libraries(test2 SDL SDLmain)
您可以从此处下载预构建的开发库。