Здравствуйте, PPA, Вы писали:
PPA>Checking whether __MINGW64_VERSION_MAJOR is declared... no
думаю, нужно начать с этого момента. __MINGW64_VERSION_MAJOR не может быть не определена.
покажи код этого теста.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали: PPA>>Checking whether __MINGW64_VERSION_MAJOR is declared... no X>думаю, нужно начать с этого момента. __MINGW64_VERSION_MAJOR не может быть не определена. X>покажи код этого теста.
Вероятно это в SConstruct
if 'mingw' in env['TOOLS']:
# see whether we're compiling with MinGW or MinGW-w64 (2 different projects that can both build
# a 32-bit program). the only differentiator is __MINGW64_VERSION_MAJOR.
if not conf.CheckDeclaration('__MINGW64_VERSION_MAJOR', '#include <windows.h>', 'C++'):
conf.env.Append(CPPDEFINES='HAVE_OLD_MINGW')
Здравствуйте, PPA, Вы писали:
PPA>Скомпилировался.
значит с компилятором все в порядке. это регресс в системе сборки. нужно дебажить 'conf.CheckDeclaration()'
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>это что-то scons-подобное? X>покажите в онлайне реализацию 'conf.CheckDeclaration()'
Да. это scons ставил с сайта. http://www.scons.org/download.php
scons-2.3.0-setup.exe
CheckDeclaration найти в нем не могу.
но версия scons не менялась 100% и раньеше DC++ собирался в нем-же.
вечером гляну что менялось непоредственно в SConstruct
Здравствуйте, niXman, Вы писали:
X>Здравствуйте, PPA, Вы писали:
PPA>>Скомпилировался. X>значит с компилятором все в порядке. это регресс в системе сборки. нужно дебажить 'conf.CheckDeclaration()'
Но ведь так ругается именно компилятор?
win32\AboutDlg.cpp:1:0: error: CPU you selected does not support x86-64 instruction set
в каких случаях он так делает? scons подсунула не тот флаг gcc?
я правда незнаю как подсмотреть какие флаги даются для сборки, но если в этом причина — начну поиск способа.
что посоветуете?
или может у вашей сборки gcc есть такой хитрый кей для отладки.?
Здравствуйте, PPA, Вы писали:
PPA>Но ведь так ругается именно компилятор? PPA>win32\AboutDlg.cpp:1:0: error: CPU you selected does not support x86-64 instruction set
да. но я хотел понять, почему проваливается тест для __MINGW64_VERSION_MAJOR
PPA>в каких случаях он так делает? scons подсунула не тот флаг gcc?
да. похоже установлен 32ух битный тулчейн, а scons пытается собрать 64ех битное приложение.
покажи имя архива, который распакован у тебя в системе.
PPA>я правда незнаю как подсмотреть какие флаги даются для сборки, но если в этом причина — начну поиск способа.
я вообще про scons только слышал =)
PPA>что посоветуете? PPA>или может у вашей сборки gcc есть такой хитрый кей для отладки.?
нет, этот хитрый кей долен быть у scons`а
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
PPA>>в каких случаях он так делает? scons подсунула не тот флаг gcc? X>да. похоже установлен 32ух битный тулчейн, а scons пытается собрать 64ех битное приложение. X>покажи имя архива, который распакован у тебя в системе.
Здравствуйте, PPA, Вы писали:
PPA>Твой с http://sourceforge.net/projects/mingwbuilds/ PPA>инсталлятор все скачал и поставил (rev 5 выбирал последний раз)
32ух битный? или 64ех битный?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>Здравствуйте, PPA, Вы писали:
PPA>>Твой с http://sourceforge.net/projects/mingwbuilds/ PPA>>инсталлятор все скачал и поставил (rev 5 выбирал последний раз) X>32ух битный? или 64ех битный?
D:\MinGW>gcc --version
gcc.EXE (rev5, Built by MinGW-W64 project) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Здравствуйте, niXman, Вы писали:
X>Здравствуйте, PPA, Вы писали:
PPA>>Твой с http://sourceforge.net/projects/mingwbuilds/ PPA>>инсталлятор все скачал и поставил (rev 5 выбирал последний раз) X>32ух битный? или 64ех битный?
Сейчас снес 64 и поставил win32
Ругается по другому
scons: Reading SConscript files ...
Checking for C++ header file htmlhelp.h... (cached) no
Checking whether __MINGW64_VERSION_MAJOR is declared... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
Compiling build\release-mingw\win32\AboutDlg.o (static)
In file included from win32\stdafx.h:22:0,
from win32\AboutDlg.cpp:19:
./dcpp/compiler.h:31:2: error: #error Regular MinGW has stability problems; use a MinGW package from mingw-w64
#error Regular MinGW has stability problems; use a MinGW package from mingw-w64
^
In file included from win32\stdafx.h:23:0,
from win32\AboutDlg.cpp:19:
win32\compiler.h:25:2: error: #error Regular MinGW has stability problems; use a MinGW package from mingw-w64
#error Regular MinGW has stability problems; use a MinGW package from mingw-w64
^
In file included from dwt\include/dwt/widgets/../aspects/../WindowsHeaders.h:67:0,
from dwt\include/dwt/widgets/../aspects/../Application.h:39,
from dwt\include/dwt/widgets/../aspects/../Widget.h:39,
from dwt\include/dwt/widgets/../aspects/../WidgetCreator.h:39,
from dwt\include/dwt/widgets/../aspects/Dialog.h:36,
from dwt\include/dwt/widgets/ModalDialog.h:39,
from win32\AboutDlg.h:28,
from win32\AboutDlg.cpp:21:
dwt\include/dwt/widgets/../aspects/../GCCHeaders.h:414:16: error: redefinition of 'struct tagNMTTCUSTOMDRAW'
dcpp\compiler.h
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8)
#error GCC 4.8 is required
#endif
#ifdef HAVE_OLD_MINGW
#error Regular MinGW has stability problems; use a MinGW package from mingw-w64
// see <https://bugs.launchpad.net/dcplusplus/+bug/1029629> for details#endif
HAVE_OLD_MINGW дописывается scons-ом
if 'mingw' in env['TOOLS']:
# see whether we're compiling with MinGW or MinGW-w64 (2 different projects that can both build
# a 32-bit program). the only differentiator is __MINGW64_VERSION_MAJOR.
if not conf.CheckDeclaration('__MINGW64_VERSION_MAJOR', '#include <windows.h>', 'C++'):
conf.env.Append(CPPDEFINES='HAVE_OLD_MINGW')
if 'gcc' in conf.env['TOOLS'] and conf.env['mode'] == 'debug':
if conf.CheckFlag('-Og'):
conf.env.Append(CCFLAGS = ['-Og'])
conf.env.Append(LINKFLAGS = ['-Og'])
Здравствуйте, PPA, Вы писали:
PPA>Target: x86_64-w64-mingw32
вот на что нужно смотреть. это 64ех битный.
а это 32ух битный: PPA>Target: i686-w64-mingw32
удаляй все, кроме 64ех битного.
зы
на компе, случаем, не установлено несколько mingw`ов, и все они прописаны в PATH?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)