Russian Qt Forum
Октябрь 01, 2024, 18:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Undefined symbols при компиляции  (Прочитано 14101 раз)
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« : Апрель 16, 2011, 12:54 »

Здравствуйте. Столкнулся с проблемой - код под Mac OS X отказывается компилироваться в режиме debug (но режим release, а также под виндой, компилируется успешно). Выводится такая ошибка:
Цитировать
Undefined symbols for architecture i386:
  "QD2CharRenamer::newNameOffset", referenced from:
      __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o
     (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr)
  "QD2CharRenamer::oldNameOffset", referenced from:
      __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o
     (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Undefined symbols for architecture ppc:
  "QD2CharRenamer::newNameOffset", referenced from:
      __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o
     (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr)
  "QD2CharRenamer::oldNameOffset", referenced from:
      __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o
     (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr)
ld: symbol(s) not found for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Y-/Y-+o-8ZUEUy-H0o+5VzAqU+++TI/-Tmp-//cc4A23Ll.out (No such file or directory)
make: *** [QD2CharRenamer.app/Contents/MacOS/QD2CharRenamer] Error 1
make: Leaving directory `/Developer/Projects/Qt/QD2CharRenamer-build-desktop'
Процесс "/usr/bin/make" завершился с кодом 2.
Возникла ошибка при сборке проекта QD2CharRenamer (цель: Настольный компьютер)
Во время выполнения сборки на этапе "Сборка"
Пробовал на 4.6.3 и 4.7.2, обе собраны в режиме -debug-and-release. Другие проекты (как universal, так и нет) собираются и запускаются в режиме debug нормально.

Две переменные, которые указаны в ошибке, объявлены так:
Код
C++ (Qt)
public:
static const int checksumOffset = 12, newNameOffset = 20, maxNameLength = 15, versionOffset = 4, oldNameOffset = 8;
а используются newNameOffset и oldNameOffset лишь в одном месте в коде:
Код
C++ (Qt)
private:
int nameOffset() const { return isChecksumPresent() ? newNameOffset : oldNameOffset; }
Пробовал убирать const у этого метода, перемещать реализацию в cpp файл, дописывать к переменным имя_класса:: - ничего не помогло.

Подскажите пожалуйста как это исправить.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
blood_shadow
Гость
« Ответ #1 : Апрель 16, 2011, 14:56 »

попробуй убить все объектники, меик-файлы и заново пересобрать.
на маке mingw одной версии стоит?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #2 : Апрель 16, 2011, 15:31 »

все это пробовал, даже проект по-новой создавал - не помогает.

mingw на маке?.. у меня есть make, gcc и другие юниксовые утилиты Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
blood_shadow
Гость
« Ответ #3 : Апрель 16, 2011, 15:55 »

все это пробовал, даже проект по-новой создавал - не помогает.

mingw на маке?.. у меня есть make, gcc и другие юниксовые утилиты Улыбающийся
да точно mingw - только на винде.. у мя было подобное, когда стояло два криэтора, которые использовали
разные версии gcc++, посмотри в переменных окружения и в настройках проекта, все ли там совпадает
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #4 : Апрель 16, 2011, 16:26 »

та вроде как все нормально там. специально еще раз пересоздал проект - все то же.

вот что пишет терминал если пользоваться им для сборки:
Код
Bash
kambala-macbook:QD2CharRenamer kambala$ env
TERM_PROGRAM=Apple_Terminal
TERM=xterm-color
SHELL=/bin/bash
TMPDIR=/var/folders/Y-/Y-+o-8ZUEUy-H0o+5VzAqU+++TI/-Tmp-/
Apple_PubSub_Socket_Render=/tmp/launch-EJL2Fz/Render
TERM_PROGRAM_VERSION=273.1
OLDPWD=/Users/kambala
USER=kambala
COMMAND_MODE=unix2003
SSH_AUTH_SOCK=/tmp/launch-eXRCH4/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:7:49
PATH=/Developer/Qt/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
PWD=/Developer/Projects/Qt/QD2CharRenamer
SHLVL=1
HOME=/Users/kambala
LOGNAME=kambala
LC_CTYPE=UTF-8
DISPLAY=/tmp/launch-TaNfCL/org.x:0
SECURITYSESSIONID=6006b6
_=/usr/bin/env
kambala-macbook:QD2CharRenamer kambala$ qmake
kambala-macbook:QD2CharRenamer kambala$ make
/Developer/Qt/bin/uic qd2charrenamer.ui -o ui_qd2charrenamer.h
g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o main.o main.cpp
g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o qd2charrenamer.o qd2charrenamer.cpp
/Developer/Qt/bin/moc -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -D__APPLE__ -D__GNUC__ qd2charrenamer.h -o moc_qd2charrenamer.cpp
g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o moc_qd2charrenamer.o moc_qd2charrenamer.cpp
/Developer/Qt/bin/rcc -name qd2charrenamer qd2charrenamer.qrc -o qrc_qd2charrenamer.cpp
g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o qrc_qd2charrenamer.o qrc_qd2charrenamer.cpp
g++ -headerpad_max_install_names -arch i386 -arch ppc -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -o QD2CharRenamer.app/Contents/MacOS/QD2CharRenamer main.o qd2charrenamer.o moc_qd2charrenamer.o qrc_qd2charrenamer.o   -F/Developer/Qt/lib -L/Developer/Qt/lib -framework QtGui -L/Developer/Qt/lib -F/Developer/Qt/lib -framework QtCore
Undefined symbols for architecture i386:
 "QD2CharRenamer::newNameOffset", referenced from:
     __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o
    (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr)
 "QD2CharRenamer::oldNameOffset", referenced from:
     __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o
    (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Undefined symbols for architecture ppc:
 "QD2CharRenamer::newNameOffset", referenced from:
     __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o
    (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr)
 "QD2CharRenamer::oldNameOffset", referenced from:
     __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o
    (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr)
ld: symbol(s) not found for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Y-/Y-+o-8ZUEUy-H0o+5VzAqU+++TI/-Tmp-//ccvDyjHA.out (No such file or directory)
make: *** [QD2CharRenamer.app/Contents/MacOS/QD2CharRenamer] Error 1
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
blood_shadow
Гость
« Ответ #5 : Апрель 16, 2011, 16:35 »

та вроде как все нормально там. специально еще раз пересоздал проект - все то же.

вот что пишет терминал если пользоваться им для сборки:
Код
Bash
kambala-macbook:QD2CharRenamer kambala$ env
TERM_PROGRAM=Apple_Terminal
TERM=xterm-color
SHELL=/bin/bash
TMPDIR=/var/folders/Y-/Y-+o-8ZUEUy-H0o+5VzAqU+++TI/-Tmp-/
Apple_PubSub_Socket_Render=/tmp/launch-EJL2Fz/Render
TERM_PROGRAM_VERSION=273.1
OLDPWD=/Users/kambala
USER=kambala
COMMAND_MODE=unix2003
SSH_AUTH_SOCK=/tmp/launch-eXRCH4/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:7:49
PATH=/Developer/Qt/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
PWD=/Developer/Projects/Qt/QD2CharRenamer
SHLVL=1
HOME=/Users/kambala
LOGNAME=kambala
LC_CTYPE=UTF-8
DISPLAY=/tmp/launch-TaNfCL/org.x:0
SECURITYSESSIONID=6006b6
_=/usr/bin/env
kambala-macbook:QD2CharRenamer kambala$ qmake
kambala-macbook:QD2CharRenamer kambala$ make
/Developer/Qt/bin/uic qd2charrenamer.ui -o ui_qd2charrenamer.h
g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o main.o main.cpp
g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o qd2charrenamer.o qd2charrenamer.cpp
/Developer/Qt/bin/moc -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -D__APPLE__ -D__GNUC__ qd2charrenamer.h -o moc_qd2charrenamer.cpp
g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o moc_qd2charrenamer.o moc_qd2charrenamer.cpp
/Developer/Qt/bin/rcc -name qd2charrenamer qd2charrenamer.qrc -o qrc_qd2charrenamer.cpp
g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o qrc_qd2charrenamer.o qrc_qd2charrenamer.cpp
g++ -headerpad_max_install_names -arch i386 -arch ppc -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -o QD2CharRenamer.app/Contents/MacOS/QD2CharRenamer main.o qd2charrenamer.o moc_qd2charrenamer.o qrc_qd2charrenamer.o   -F/Developer/Qt/lib -L/Developer/Qt/lib -framework QtGui -L/Developer/Qt/lib -F/Developer/Qt/lib -framework QtCore
Undefined symbols for architecture i386:
 "QD2CharRenamer::newNameOffset", referenced from:
     __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o
    (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr)
 "QD2CharRenamer::oldNameOffset", referenced from:
     __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o
    (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Undefined symbols for architecture ppc:
 "QD2CharRenamer::newNameOffset", referenced from:
     __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o
    (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr)
 "QD2CharRenamer::oldNameOffset", referenced from:
     __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o
    (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr)
ld: symbol(s) not found for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Y-/Y-+o-8ZUEUy-H0o+5VzAqU+++TI/-Tmp-//ccvDyjHA.out (No such file or directory)
make: *** [QD2CharRenamer.app/Contents/MacOS/QD2CharRenamer] Error 1
я кажется понял...
вся соль в том что мак у тебя стоит на архитектуре ppc, а gcc походу для i386
вот в этих строчках - ld: symbol(s) not found for architecture i386 и ld: symbol(s) not found for architecture ppc
комп давно покупался?
раньше маки строились на базе архитектуры моторолы, потом ppc и современные уже i386
проверь архитектуру своего компа,
если проект не большой можешь мне кинуть я попробую собрать
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #6 : Апрель 16, 2011, 16:39 »

нет, у меня как раз интеловский мак, а собираю проект я для обоих архитектур (i386 и ppc). другой проект для обоих архитектур собирается спокойно как в debug, так и в release (а этот, напомню, успешно собирается только для release).

вот ссылка на исходники: http://www.mediafire.com/?dwhl2z58gp21syx
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
blood_shadow
Гость
« Ответ #7 : Апрель 16, 2011, 16:59 »

нет, у меня как раз интеловский мак, а собираю проект я для обоих архитектур (i386 и ppc). другой проект для обоих архитектур собирается спокойно как в debug, так и в release (а этот, напомню, успешно собирается только для release).

вот ссылка на исходники: http://www.mediafire.com/?dwhl2z58gp21syx
чувак, ну кто же так определяет статические переменные в классе?
ты объявил статик переменные в классе, но не определил их, то есть не выделил память,
и компоновщик потом попросту не нашел эти переменные
в файле *.cpp до определения конструктора надо определить их, то есть написать:
Код
C++ (Qt)
const int QD2CharRenamer::checksumOffset = 12;
const int QD2CharRenamer::newNameOffset = 20;
const int QD2CharRenamer::maxNameLength = 15;
const int QD2CharRenamer::versionOffset = 4;
const int QD2CharRenamer::oldNameOffset = 8;
 
а в файле *.h
Код
C++ (Qt)
static const int checksumOffset, newNameOffset, maxNameLength, versionOffset, oldNameOffset;
 
и все есть гуд  Подмигивающий
не знаю, почему такое компилятор позволяет в релиз режиме, он должен ругаться просто матом
на такие вещи
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #8 : Апрель 16, 2011, 17:12 »

я как-то пытался статическую переменную типа QString определить прямо в классе - вот там компилятор ругался, а инты я думал можно Улыбающийся большое спасибо, теперь буду знать!

а почему ж тогда на другие статические переменные не ругается, а только на эти?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
blood_shadow
Гость
« Ответ #9 : Апрель 16, 2011, 17:26 »

я как-то пытался статическую переменную типа QString определить прямо в классе - вот там компилятор ругался, а инты я думал можно Улыбающийся большое спасибо, теперь буду знать!

а почему ж тогда на другие статические переменные не ругается, а только на эти?
1. это ошибка на этапе компоновки тут дела с ошибками намного хуже чем на этапе компиляции,
не смог связать первую, попытался вторую, не смог вторую и выбросил ошибку, предполагая
что программа в которой есть как минимум 2 неопределенные переменные, точно не может
быть правильной

2. статик QString можно определить прямо в классе, семантика объявления ничем не отличается
от атомарных типов, только нужно не забыть подключить соответствующий хэдер(#include <QString>),
более того в в файле *.h можно сделать только предварительное объявление QString,
а подключить хэдер <QString> только в файле *.cpp если только не объявляется какой-нить
объект QString в хэдере

3. раньше до принятия С++98(нынешний стандарт) статические переменные объявлялись и
определялись так как вы сначала сделали(одна запись), в объявлении класса, но в нынешнем стандарте
лавочку прикрыли и теперь объявляем в классе, а определяем вне классов и ф-ций
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Апрель 17, 2011, 05:54 »

чувак, ну кто же так определяет статические переменные в классе?
Почему, если const то так защищаться можно. У меня компилится нормально под любую архитектуру (Mac, компилятор Xcode)
Записан
blood_shadow
Гость
« Ответ #11 : Апрель 17, 2011, 09:49 »

чувак, ну кто же так определяет статические переменные в классе?
Почему, если const то так защищаться можно. У меня компилится нормально под любую архитектуру (Mac, компилятор Xcode)
так можно было раньше делать, до принятия нынешнего стандарта, статик переменные
объявлялись и определялись только раз в классе, нынешний стандарт языка запрещает
такое делать, я думаю что в релиз режиме программа не вылетает с ошибкой только
из-за того что эти переменные нигде не используются.
к тому же причина почему запрещают объявлять таким образом статические переменные -
можно забыть, а то и вовсе запутаться про особенности таких переменных
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #12 : Апрель 17, 2011, 10:27 »

так можно было раньше делать, до принятия нынешнего стандарта, статик переменные
объявлялись и определялись только раз в классе, нынешний стандарт языка запрещает
такое делать,
Если указан const - то не запрещает
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #13 : Апрель 17, 2011, 11:29 »

У меня компилится нормально под любую архитектуру (Mac, компилятор Xcode)
у хкода есть свой компилятор?.. у меня gcc 4.2, 64-битная ОС (если это имеет значение). а ты чем компилировал?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #14 : Апрель 17, 2011, 11:40 »

у хкода есть свой компилятор?.. у меня gcc 4.2, 64-битная ОС (если это имеет значение). а ты чем компилировал?
Тем же чем и Вы - gcc 4.2. Просто поставил архитектуру universal 32/64 (он создает 4 экземпляра Intel/PPC. 32/64). Все нормально
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.565 секунд. Запросов: 23.