问题描述
做了一个贪吃蛇小游戏,发现可执行文件不能在其他电脑正常运行,在输出函数调用结果位置上出现乱码。
自己猜想
1. 虽然进行了静态链接,但是非标准库没有进行链接。
2. 不同电脑的编码格式不同?
针对第一种猜想: 就显示的结果来看,score后面是有个函数调用,但在别人电脑上函数调用位置显示乱码,而输出字符的位置是能正常显示。问题是score后面的函数调用并没有用到非标准库。这个猜想也可能不对。
针对第二种猜想: 可以看到其他直接输出的字符是可以正常显示的,编码问题又从何说起呢。
我的电脑运行状态
其他电脑运行状态
头文件内容
#include<iostream>
using namespace std;
#include<ctime>
#include<conio.h>
#include<windows.h>
CMakeLists.txt内容
cmake_minimum_required(VERSION 3.0)
project(projectName)
include_directories(include)
set(CMAKE_CXX_FLAGS "-O2")
set(CMAKE_EXE_LINKER_FLAGS "-static")
add_executable(snakePeter_vesion1.1.9 Game.cpp src/wall.cpp src/snake.cpp src/food.cpp)