Проблема с wxWidgets на Snow Leopard - PullRequest
0 голосов
/ 21 декабря 2010

У меня проблема с компиляцией wxWidget-приложения. Я установил последнюю версию библиотеки следующим образом:

set arch_flags="-arch x86_64 "
./configure -with-osx_cocoa --disable-shared --disable-compat24 --enable-unicode --enable-universal-binary CFLAGS="$arch_flags" CXXFLAGS="$arch_flags" CPPFLAGS="$arch_flags" LDFLAGS="$arch_flags" OBJCFLAGS="$arch_flags" OBJCXXFLAGS="$arch_flags"
sudo make install

Я пытаюсь скомпилировать простой пример hello-world с:

WXWIDGETS = -I/usr/local/include/wx-2.9/
CXXFLAGS = -O2 -g -Wall -Wextra -fmessage-length=0

CXX = $(shell wx-config --cxx)

PROGRAM = wxProjectExample

OBJECTS = $(PROGRAM).o

# implementation

.SUFFIXES:      .o .cpp

.cpp.o :
 $(CXX) -c `wx-config --static=yes --libs` `wx-config --static=yes --cxxflags` -o $@ $<

all:    $(PROGRAM)

$(PROGRAM):     $(OBJECTS)
 $(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`

clean:
 rm -f *.o $(PROGRAM)

Но компиляция не удалась при соединении с:

ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
ld: warning: in /usr/lib/libwx_macud-2.8.dylib, missing required architecture x86_64 in file
Undefined symbols:
  "wxWindowBase::DoSetVirtualSize(int, int)", referenced from:
      vtable for MyFramein wxProjectExample.o

Где может быть проблема или у кого-то были подобные проблемы с этим фреймворком?

Thx.

PS Система: SnowLeopard (64 бит) 10.6.5. с процессором intel, gcc 4.2.

Ответы [ 2 ]

1 голос
/ 31 января 2012

я исправил эту проблему, добавив путь к новым wx-двоичным файлам в PATH $ export PATH = / usr / local / Cellar / wxmac / 2.8.11 / bin: $ PATH

Я использую brew для установки wxmac.

0 голосов
/ 22 декабря 2010

Я удивлен, что у вас есть libwx_xxx в /usr/lib, когда префикс установки по умолчанию - /usr/local. Вы уверены, что в вашей системе нет нескольких несовместимых версий библиотек?

Кроме того, при использовании статического связывания библиотеки, содержащие зависимости вашего кода, должны после ссылаться на них объектный файл, поэтому часть wx-config --libs должна быть в конце вашего правила.

...