- 主题:请教一个C++的编译错误
#if !defined(_UNICODE) && !defined(UNICODE)
#define _UNICODE USED
#define UNICODE USED
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <tchar.h>
#if !defined(WIN32) && !defined(WIN32)
#error Only run on windows system
#endif
#if defined(_MSC_VER)
#include <Gdiplus.h>
#pragma comment(lib, "Gdi32.lib")
#pragma comment(lib, "Gdiplus.lib")
#pragma comment(lib, "Ole32.lib")
#else
#include <gdiplus\gdiplus.h>
#ifndef bool
#include <stdbool.h>
#endif
#endif
static const TCHAR IMAGE_TYPE[] = {_T("image/bmp"), _T("image/jpeg"), _T("image/gif"), _T("image/tiff"), _T("image/png"), NULL};
static const TCHAR IMAGE_SUFFIX[] = {_T(".bmp"), _T(".jpg"), _T(".gif"), _T(".tif"), _T(".png"), NULL};
==========================
g++ -c ex01.cpp -municode
编译报错啊,编译环境是gcc 8.3的32位环境。
--
FROM 124.78.136.*
他注释里也有mingw的编译选项,我把TCHAR改成char就过了,我也不知道是为啥。
vc编译没问题。
【 在 z16166 的大作中提到: 】
: 这不是写的win32专用?用msvc编译。
: #error Only run on windows system
--
FROM 116.231.61.*
编译错误信息,我下午贴出来了。麻烦看一下,谢谢。
【 在 poocp 的大作中提到: 】
: 编译报错你不贴错误信息,让人猜吗
--
FROM 124.78.136.*
$ g++ -c ex01.cpp -municode
ex01.cpp:40:128: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
static const TCHAR* IMAGE_TYPE[] = {_T("image/bmp"), _T("image/jpeg"), _T("imag
e/gif"), _T("image/tiff"), _T("image/png"), NULL};
^
ex01.cpp:40:128: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
ex01.cpp:40:128: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
ex01.cpp:40:128: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
ex01.cpp:40:128: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
ex01.cpp:41:103: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
static const TCHAR* IMAGE_SUFFIX[] = {_T(".bmp"), _T(".jpg"), _T(".gif"), _T(".
tif"), _T(".png"), NULL};
^
ex01.cpp:41:103: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
ex01.cpp:41:103: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
ex01.cpp:41:103: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
ex01.cpp:41:103: error: cannot convert 'const char*' to 'const TCHAR*' {aka 'con
st wchar_t*'} in initialization
【 在 poocp (慢速随机指标) 的大作中提到: 】
: 编译报错你不贴错误信息,让人猜吗
--
FROM 124.78.15.*
我修改成这样通过了,第一句if有错误
//#if !defined(_UNICODE) && !defined(UNICODE)
//#define _UNICODE USED
//#define UNICODE USED
//#endif
#define _UNICODE USED
【 在 poocp (慢速随机指标) 的大作中提到: 】
: 这样就能直接编译通过
: g++ -c ex01.cpp -municode -D_UNICODE=USED
--
FROM 124.78.15.*
我修改成这样通过了,谢谢!
算是结贴了。
#if !defined(_UNICODE)
#define _UNICODE USED
#endif
#if !defined(UNICODE)
#define UNICODE USED
#endif
【 在 poocp (慢速随机指标) 的大作中提到: 】
: 这样就能直接编译通过
: g++ -c ex01.cpp -municode -D_UNICODE=USED
--
FROM 124.78.15.*
#if !defined(_UNICODE) || !defined(UNICODE)
#define _UNICODE USED
#define UNICODE USED
#endif
是不是要把代码改成这样?
【 在 z16166 的大作中提到: 】
: _UNICODE、UNICODE这是windows头文件内部需要使用的宏,不要随便改。
: 一般就是定义、未定义两种状态。
:
--
FROM 58.37.36.*