跳至主要內容

平台兼容性问题

LincZero大约 1 分钟

平台兼容性问题

目录

平台兼容性问题

win32的含义

疑问

我用64bit来构建,但为什么在win32:的那两行不注释掉的化会报错?(无法打开输入文件“plugin01.lib”)

那个不应该是在32bit环境下才会生效吗?为什么会影响到我用64bit套件进行的编译?

#win32: LIBS += -L$$PWD/./ -lPlugin01
#win32: LIBS += -L$$PWD/./ -lPlugin02

别人的程序,刚开始我运行不了,后来发现注释掉那两行就能运行了。但想不明白为啥

群友解答

【管理员】杭州-九州 18:56:32 win32指的就是Windows

【管理员】杭州-九州 18:56:38 而不是32位Windows

【管理员】成都-Serika(已废) 18:59:24 win32就是windows

【管理员】成都-Serika(已废) 18:59:28 这是个历史问题

【管理员】成都-Serika(已废) 18:59:40 最开始win32还真指的是32位的windows

【管理员】成都-Serika(已废) 18:59:51 但是现在64位的windows也叫win32

【管理员】成都-Serika(已废) 19:00:29 历史遗留问题

【管理员】成都-Serika(已废) 19:00:29 或者说win32 api就没改过,64位也叫win32 api


【】

#区分32位和64位windows程序

opt = $$find(QMAKESPEC,"msvc2015_64")
isEmpty(opt){
message("win32 lib")
LIBS += -L$$PWD/../../lib/win32
}
!isEmpty(opt){
message("win64 lib")
LIBS += -L$$PWD/../../lib/win64
}

我看有人用这qmakespec区分