2

我正在尝试在 mac OS X v. 10.12.1 上制作一组简单的 fsharp 代码,当我运行结果时出现错误。我可以找到的对类似 _kCFLocaleCountryCode 错误的引用似乎与我的问题不匹配。任何帮助将非常感激。

谢谢,乔恩


代码是一个 fsharp 脚本 test.fsx:

printfn "%d" 10

使用 F# Compiler for F# 4.0(开源版)编译,形成 Mono 4.4.1 (mono-4.4.0-branch-c7sr0/4747417。下面附上会发生什么。

$ fsharpc test.fsx
F# Compiler for F# 4.0 (Open Source Edition)
Freely distributed under the Apache 2.0 Open Source License
$ mkbundle --deps test.exe -o test
OS is: Darwin
Sources: 1 Auto-dependencies: True
   embedding: /Users/sporring/repositories/PoP/fsharp/src/20161122_winforms/test.exe
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/4.5/mscorlib.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/FSharp.Core/4.4.0.0__b03f5f7f11d50a3a/FSharp.Core.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Security/4.0.0.0__b03f5f7f11d50a3a/System.Security.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Numerics/4.0.0.0__b77a5c561934e089/System.Numerics.dll
AS = as (default)
[execute cmd]: as -o temp.o temp.s 
Compiling:
CC = cc (default)
[execute cmd]: cc -g -o 'test' -Wall temp.c `pkg-config --cflags --libs mono-2`  temp.o
Done
$ ./test
dyld: Symbol not found: _kCFLocaleCountryCode
  Referenced from: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/libmonosgen-2.0.1.dylib
  Expected in: flat namespace
 in /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/libmonosgen-2.0.1.dylib
Abort trap: 6
$
4

1 回答 1

0

尝试这个

export AS="as -arch i386"
export CC="cc -arch i386 -framework CoreFoundation -lobjc -liconv"
mkbundle --deps test.exe -o test

然后测试

./test
于 2017-01-15T07:19:07.493 回答