Ara*_*ins 2 c++ windows stdout cmake sdl-2
我已经尝试了我能想到的一切。我只是无法让 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;
}
Run Code Online (Sandbox Code Playgroud)
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})
Run Code Online (Sandbox Code Playgroud)
使用 GCC 4.8.3 (MinGW i686 Win-Builds 1.5)
小智 5
不确定它是否仍然与您相关,但您是否尝试过No stdout.txt with SDL 中的答案?
我使用了 MSYS2/MinGW-w64 中的 SDL 2,其中pkg-config设置了-mwindows标志,这导致在从命令提示符运行时丢弃stdout/ stderr(但不是 MSYS2 本身)。离开-mwindows国旗有帮助。
| 归档时间: |
|
| 查看次数: |
1375 次 |
| 最近记录: |