我有个问题。在尝试使用库SDL1.2时,我一直收到WinMain@16错误。(我知道它已经过时了,但我暂时有用)。当我使用CLion取消CMakeList.txt库链接时,一切都很好。
我还读过一些我需要添加以下标志的地方,-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;
}发布于 2015-10-23 10:46:06
1)确保您的主要方法是形式:
int main(int argc, char* argv[])
{
}注意添加的参数
2)使用target_link_libraries(target lib)链接静态库
所以你必须像这样联系:
target_link_libraries(test2 SDL SDLmain)您可以从这里下载预构建的开发库。
https://stackoverflow.com/questions/33300186
复制相似问题