2012-11-30 38 views
1

。但我有一臺64位的Mac OS Mountain Lion機器。如何在64位Mac機器(山獅)上編譯32位庫我想在我的Macbook上編譯32位的tesseract <a href="http://code.google.com/p/tesseract-ocr/" rel="nofollow">http://code.google.com/p/tesseract-ocr/</a>

有一種生成文件,我試圖:

(1)$的./configure --with拱= I386 (2)$ $ /配置--build = I386-蘋果達爾文 - -host = i386-apple-darwin --target = i386-apple-darwin

兩者都沒有工作。編譯的庫仍然是64位。實際上,對於(2)我看到,在運行./configure之後,它看起來像「檢查i386-apple-darwin-g ++ .. no」這樣的東西,實際上,它檢查的所有對i386的檢查結果都是「否」。但彙編成功,只是圖書館似乎不是32位。

任何人都可以提供幫助嗎?

+0

必須嘗試設置'CXX = clang ++; CXXFLAGS =「 - arch 386」./configure ...'? – trojanfoe

+0

你的意思是我應該這樣做:「./configure CXX = clang ++; CXXFLAGS =」 - arch 386「」????我做到了,是的,我得到了成功編譯的lib,然後我嘗試在openframeworks(32位)中使用它,仍然得到以下ld:symbol(s)not found for architecture i386 clang:error:linker command failed with退出代碼1(使用-v來查看調用) – nan

+0

對不起,我很困惑。我的建議是否允許它編譯? – trojanfoe

回答

1

嘗試使用-m32指定CFLAGS和CXXFLAGS中的構建32位可執行文件。但是,10.7和10.8的MacOSX sdks沒有32位i386代碼鏈接(僅MacOSX10.6.sdk)。我建議使用macports在Mac OS X 10.7+上安裝/構建tesseract引擎。

+0

我敢肯定你對沒有32位i386代碼的10.7和10.8 SDK錯了。您可能正在考慮PowerPC支持。 – JWWalker

相關問題