Reputation: 41
I have a javafx project and I am trying to port it to IOS using javafxports. I get an error saying
[SUB] Undefined symbols for architecture x86_64:
[SUB] "_[j]projectName[infostruct]", referenced from
[SUB] l_g2 in linker0.o
[SUB] ld: symbol(s) not found for architecture x86_64
[SUB] clang: error: linker command failed with exit code 1 (use -v to see invocation)
The gradle file handling the javafxports looks like this
buildscript {
repositories {
jcenter()
google()
maven {
url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:2.0.29'
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
maven {
'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
url 'https://jitpack.io'
}
mainClassName = project.ext.get('mainClass')
jfxmobile {
downConfig {
version = '3.8.0'
// Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
plugins 'display', 'lifecycle', 'statusbar', 'storage'
}
android {
targetSdkVersion = 21
manifest = 'src/android/AndroidManifest.xml'
}
ios {
infoPList = file('src/ios/Default-Info.plist')
forceLinkClasses = [
'com.gluonhq.**.*',
'javax.annotations.**.*',
'javax.inject.**.*',
'javax.json.**.*',
'org.glassfish.json.**.*'
]
}
Any idea what might be the problem
Upvotes: 1
Views: 71
Reputation: 41
The following code is needed when you are compiling with XDStrings
compileJava {
options.compilerArgs += ["-XDstringConcat=inline"] //important for IOS. See http://docs.gluonhq.com/gluonvm/ at the very bottom
}
Upvotes: 1