【发布时间】:2017-09-29 06:11:16
【问题描述】:
我已经尝试了所有我能想到的。我只是无法让 SDL2 向控制台输出任何内容。 Windows PowerShell 和命令提示符都没有显示输出。也没有 stdout.txt 文件。 cout, cerr, SDL_Log("..."), 都不行。
#define NO_STDIO_REDIRECT
#include <iostream>
#include "SDL.h"
using namespace std;
int main(int argc, char** args){
if (SDL_Init(SDL_INIT_VIDEO) != 0){
std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
return 1;
}
SDL_Log("Hello World");
SDL_Quit();
return 0;
}
CMakeLists.txt:
message(STATUS "Print Test, CMAKE_SOURCE_DIR: " ${CMAKE_SOURCE_DIR})
cmake_minimum_required(VERSION 3.7)
project(testproject)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
#set(CMAKE_MODULE_PATH cmake/FindSDL2.cmake)
#set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
find_package(SDL2 REQUIRED)
include_directories(testproject ${SDL2_INCLUDE_DIRS})
add_executable(testproject src/main.cpp)
target_link_libraries(testproject ${SDL2_LIBRARIES})
使用 GCC 4.8.3(MinGW i686 Win-Builds 1.5)
【问题讨论】:
-
在 add_executable(testproject src/main.cpp) 之后添加了这个:set_target_properties(testproject PROPERTIES WIN32_EXECUTABLE FALSE) 仍然没有输出。
-
即使来自 cout?
-
您使用的是哪个
SUBSYSTEM?CONSOLE?WINDOWS? -
不确定你的意思。
标签: c++ windows cmake stdout sdl-2