Aurel300 / plumob

Simple toolchain for mobile development with Haxe
MIT License
26 stars 2 forks source link

Compile errors #2

Closed zabojad closed 6 years ago

zabojad commented 6 years ago

Hi there !

I'm trying to run the sample app.

Compilation stops with:

$ haxelib run plumob build iphone
...
$ haxelib run plumob build iphone
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARM64,-D,IPHONE_VER=8.4]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARM64="1" -DHXCPP_CPP11="1" -DIPHONE_VER="8.4" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.402" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.2" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-64/__pch/haxe/hxcpp.h.gch...
xcrun: error: SDK "iphoneos8.4" cannot be located
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk' [-Wmissing-sysroot]
In file included from /Users/thomasfetiveau/hxcpp/include/hxcpp.h:19:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/typeinfo:61:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/exception:82:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/cstdlib:86:
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdlib.h:94:15: fatal error: 'stdlib.h' file not found
#include_next <stdlib.h>
              ^~~~~~~~~~
1 error generated.
Error: Could not create PCH
Error: Build failed
error: command failed (haxe)

What is missing?

Aurel300 commented 6 years ago

Ah, I seem to have left a IPHONE_VER define in the template plumob creates by default. Fixed it with the latest commit. To fix your project, edit plumob.json and remove the define:

"build-flags-haxe": [
  "-D", "IPHONE_VER=8.4" /* remove this line */
]

Also – how are you compiling the example app? It should have its own plumob.json that doesn't contain that define.

zabojad commented 6 years ago

Hey @Aurel300 ! Thanks for answering. Yes I was using the plumob.json created by the command line, not the one from the sample. Now, after having suppressed this option, I have:

$ haxelib run plumob build iphone
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARM64]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARM64="1" -DHXCPP_CPP11="1" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.402" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.2" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-64/__pch/haxe/hxcpp.h.gch...
xcrun: error: SDK "iphoneos11.0" cannot be located

Compiling group: haxe
xcrun --sdk iphoneos11.0 clang++ -Iinclude -c -stdlib=libc++ -O2 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARM64 -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,static]
 - src/plumob/ios/EventListener.mm 
 - src/plumob/ios/Events.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/haxe/ds/IntMap.mm 
 - src/haxe/Log.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/haxe/IMap.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Std.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Main.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/__boot__.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - /Users/thomasfetiveau/hxcpp/src/hx/NoFiles.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/__resources__.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
xcrun: error: SDK "iphoneos11.0" cannot be located

Compiling group: __lib__
xcrun --sdk iphoneos11.0 clang++ -Iinclude -DHX_DECLARE_MAIN -c -stdlib=libc++ -O2 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARM64 -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,main,static]
 - src/__lib__.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-64/__pch/runtime/hxcpp.h.gch...
xcrun: error: SDK "iphoneos11.0" cannot be located

Compiling group: runtime
xcrun --sdk iphoneos11.0 clang++ -D_CRT_SECURE_NO_DEPRECATE -DHX_UNDEFINE_H -c -stdlib=libc++ -O2 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARM64 -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe]
 - src/hx/Boot.cpp 
 - src/hx/Anon.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/CFFI.cpp  [haxe,static]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Date.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/gc/GcCommon.cpp  [haxe,gc]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/gc/Immix.cpp  [haxe,gc]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/gc/GcRegCapture.cpp  [haxe,gc]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Hash.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Interface.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Lib.cpp  [haxe,static]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Object.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/StdLibs.cpp  [haxe,static]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Debug.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Thread.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/RunLibs.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Array.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Class.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Dynamic.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/ObjcData.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Enum.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Math.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/String.cpp  [haxe,hxstring]
xcrun: error: SDK "iphoneos11.0" cannot be located
xcrun: error: SDK "iphoneos11.0" cannot be located
Link: liboutput.iphoneos-64.a
xcrun: error: SDK "iphoneos11.0" cannot be located
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARMV7]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARMV7="1" -DHXCPP_CPP11="1" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.402" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.2" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-v7/__pch/haxe/hxcpp.h.gch...
xcrun: error: SDK "iphoneos11.0" cannot be located

Compiling group: haxe
xcrun --sdk iphoneos11.0 clang++ -Iinclude -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,static]
 - src/plumob/ios/Events.mm 
 - src/plumob/ios/EventListener.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/haxe/Log.mm 
 - src/haxe/ds/IntMap.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/haxe/IMap.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Std.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Main.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/__boot__.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - /Users/thomasfetiveau/hxcpp/src/hx/NoFiles.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/__resources__.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
xcrun: error: SDK "iphoneos11.0" cannot be located

Compiling group: __lib__
xcrun --sdk iphoneos11.0 clang++ -Iinclude -DHX_DECLARE_MAIN -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,main,static]
 - src/__lib__.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-v7/__pch/runtime/hxcpp.h.gch...
xcrun: error: SDK "iphoneos11.0" cannot be located

Compiling group: runtime
xcrun --sdk iphoneos11.0 clang++ -D_CRT_SECURE_NO_DEPRECATE -DHX_UNDEFINE_H -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe]
 - src/hx/Anon.cpp 
 - src/hx/Boot.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/CFFI.cpp  [haxe,static]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Date.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/gc/GcCommon.cpp  [haxe,gc]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/gc/Immix.cpp  [haxe,gc]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/gc/GcRegCapture.cpp  [haxe,gc]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Hash.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Interface.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Lib.cpp  [haxe,static]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Object.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/StdLibs.cpp  [haxe,static]
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Debug.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Thread.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/RunLibs.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Array.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/hx/Class.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Dynamic.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/ObjcData.mm 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Enum.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/Math.cpp 
xcrun: error: SDK "iphoneos11.0" cannot be located
 - src/String.cpp  [haxe,hxstring]
xcrun: error: SDK "iphoneos11.0" cannot be located
xcrun: error: SDK "iphoneos11.0" cannot be located
Link: liboutput.iphoneos-v7.a
xcrun: error: SDK "iphoneos11.0" cannot be located
Called from ? line 1
Called from Main.hx line 214
Called from Main.hx line 172
Called from Main.hx line 184
Called from plat/IOSGroup.hx line 86
Called from Main.hx line 61
Called from /usr/local/lib/haxe/std/neko/_std/sys/FileSystem.hx line 94
Uncaught exception - std@sys_read_dir

So it doesn't find the SDK 11.0 ? It should be there as it is the one my XCode (9.0.1) proposes by default...

Aurel300 commented 6 years ago

Alright, some things to try that I can think of:

  1. You say XCode proposes SDK 11 by default – but have you ever actually used it? i.e. is the SDK actually downloaded?
    • To check, see if the directory /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk exists - if not, download it using XCode?
    • If you find the SDK there, but perhaps named differently (maybe Apple changed the SDK naming format?), you will need to make some minor changes to the toolchain files of hxcpp (specifically <hxcpp install path>/toolchain/iphoneos-toolchain.xml and iphonesim-toolchain.xml - let me know if this is the case)
  2. Also, is the XCode installed at the default path (/Applications/Xcode.app) the version you are using?
  3. The last resort would be to try the vagrant box, but I would also be quite happy to see this working with a normal OS X install.
zabojad commented 6 years ago
Last login: Mon Oct 30 18:24:41 on ttys008
pc29:~ thomasfetiveau$ ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
iPhoneOS.sdk        iPhoneOS11.0.sdk
pc29:~ thomasfetiveau$ ls -al /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
total 8
drwxr-xr-x  4 root  wheel  136 Oct 25 02:57 .
drwxr-xr-x  5 root  wheel  170 Oct 25 02:57 ..
drwxr-xr-x  7 root  wheel  238 Oct 25 02:57 iPhoneOS.sdk
lrwxr-xr-x  1 root  wheel   12 Sep 26 14:57 iPhoneOS11.0.sdk -> iPhoneOS.sdk

The SDK seems to be where you expect it to be but as a simlink. Could it be the cause of the problem? So it's more a hxcpp issue?

Aurel300 commented 6 years ago

Ah, I think I actually ran into this problem as well – the hxcpp toolchain files might need to be patched by Hugh at some point. For now, this is the diff of my original iphoneos-toolchain.xml and the modified version:

11c11
< <set name="HXCPP_LIBTOOL" value="xcrun --sdk iphoneos${IPHONE_VER} libtool" />
---
> <set name="HXCPP_LIBTOOL" value="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${IPHONE_VER}.sdk libtool" />
24,25c24,25
<   <exe name="xcrun --sdk iphoneos${IPHONE_VER} g++" if="HXCPP_GCC" />
<   <exe name="xcrun --sdk iphoneos${IPHONE_VER} clang++" />
---
>   <exe name="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${IPHONE_VER}.sdk g++" if="HXCPP_GCC" />
>   <exe name="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${IPHONE_VER}.sdk clang++" />
80,81c80,81
<   <exe name="xcrun --sdk iphoneos${IPHONE_VER} g++" if="HXCPP_GCC" />
<   <exe name="xcrun --sdk iphoneos${IPHONE_VER} clang++" />
---
>   <exe name="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${IPHONE_VER}.sdk g++" if="HXCPP_GCC" />
>   <exe name="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${IPHONE_VER}.sdk clang++" />

And the same for the simulator toolchain:

8c8
< <set name="HXCPP_LIBTOOL" value="xcrun --sdk iphonesimulator${IPHONE_VER} libtool" />
---
> <set name="HXCPP_LIBTOOL" value="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_VER}.sdk libtool" />
18,19c18,19
<   <exe name="xcrun --sdk iphonesimulator${IPHONE_VER} g++" if="HXCPP_GCC" />
<   <exe name="xcrun --sdk iphonesimulator${IPHONE_VER} clang++" />
---
>   <exe name="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_VER}.sdk g++" if="HXCPP_GCC" />
>   <exe name="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_VER}.sdk clang++" />
76,77c76,77
<   <exe name="xcrun --sdk iphonesimulator${IPHONE_VER} g++" if="HXCPP_GCC" />
<   <exe name="xcrun --sdk iphonesimulator${IPHONE_VER} clang++" />
---
>   <exe name="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_VER}.sdk g++" if="HXCPP_GCC" />
>   <exe name="xcrun --sdk ${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_VER}.sdk clang++" />

Basically replace every --sdk iphoneos${IPHONE_VER} you see with --sdk ${DEVELOPER_DIR}/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${IPHONE_VER}.sdk and analogously for the simulator. The files you want to patch are in <hxcpp install path>/toolchain/iphoneos-toolchain.xml and <hxcpp install path>/toolchain/iphonesim-toolchain.xml. You can get your hxcpp install path with haxelib path hxcpp.

zabojad commented 6 years ago

Hey @Aurel300 !

It seems better indeed:

$ haxelib run plumob build iphone
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARM64]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARM64="1" -DHXCPP_CPP11="1" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.402" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.2" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-64/__pch/haxe/hxcpp.h.gch...

Compiling group: haxe
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -Iinclude -c -stdlib=libc++ -O2 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARM64 -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,static]
 - src/plumob/ios/Events.mm 
 - src/plumob/ios/EventListener.mm 
 - src/haxe/ds/IntMap.mm 
 - src/haxe/Log.mm 
 - src/haxe/IMap.mm 
 - src/Std.mm 
 - src/Main.mm 
 - src/__boot__.mm 
 - /Users/thomasfetiveau/wksp_haxelib/hxcpp/src/hx/NoFiles.cpp 
 - src/__resources__.mm 

Compiling group: __lib__
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -Iinclude -DHX_DECLARE_MAIN -c -stdlib=libc++ -O2 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARM64 -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,main,static]
 - src/__lib__.mm 
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-64/__pch/runtime/hxcpp.h.gch...

Compiling group: runtime
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -D_CRT_SECURE_NO_DEPRECATE -DHX_UNDEFINE_H -c -stdlib=libc++ -O2 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARM64 -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe]
 - src/hx/Boot.cpp 
 - src/hx/Anon.cpp 
 - src/hx/CFFI.cpp  [haxe,static]
 - src/hx/Date.cpp 
 - src/hx/gc/GcCommon.cpp  [haxe,gc]
 - src/hx/gc/Immix.cpp  [haxe,gc]
 - src/hx/gc/GcRegCapture.cpp  [haxe,gc]
 - src/hx/Hash.cpp 
 - src/hx/Interface.cpp 
 - src/hx/Lib.cpp  [haxe,static]
 - src/hx/Object.cpp 
 - src/hx/StdLibs.cpp  [haxe,static]
 - src/hx/Debug.cpp 
 - src/hx/Thread.cpp 
 - src/hx/RunLibs.cpp 
 - src/Array.cpp 
 - src/hx/Class.cpp 
 - src/Dynamic.cpp 
 - src/ObjcData.mm 
 - src/Enum.cpp 
 - src/Math.cpp 
 - src/String.cpp  [haxe,hxstring]
Link: liboutput.iphoneos-64.a
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARMV7]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARMV7="1" -DHXCPP_CPP11="1" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.402" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.2" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-v7/__pch/haxe/hxcpp.h.gch...

Compiling group: haxe
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -Iinclude -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,static]
 - src/plumob/ios/EventListener.mm 
 - src/plumob/ios/Events.mm 
 - src/haxe/ds/IntMap.mm 
 - src/haxe/Log.mm 
 - src/haxe/IMap.mm 
 - src/Std.mm 
 - src/Main.mm 
 - src/__boot__.mm 
 - /Users/thomasfetiveau/wksp_haxelib/hxcpp/src/hx/NoFiles.cpp 
 - src/__resources__.mm 

Compiling group: __lib__
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -Iinclude -DHX_DECLARE_MAIN -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,main,static]
 - src/__lib__.mm 
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-v7/__pch/runtime/hxcpp.h.gch...

Compiling group: runtime
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -D_CRT_SECURE_NO_DEPRECATE -DHX_UNDEFINE_H -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe]
 - src/hx/Boot.cpp 
 - src/hx/Anon.cpp 
 - src/hx/CFFI.cpp  [haxe,static]
 - src/hx/Date.cpp 
 - src/hx/gc/GcCommon.cpp  [haxe,gc]
 - src/hx/gc/Immix.cpp  [haxe,gc]
 - src/hx/gc/GcRegCapture.cpp  [haxe,gc]
 - src/hx/Hash.cpp 
 - src/hx/Interface.cpp 
 - src/hx/Lib.cpp  [haxe,static]
 - src/hx/Object.cpp 
 - src/hx/StdLibs.cpp  [haxe,static]
 - src/hx/Debug.cpp 
 - src/hx/Thread.cpp 
 - src/hx/RunLibs.cpp 
 - src/Array.cpp 
 - src/hx/Class.cpp 
 - src/Dynamic.cpp 
 - src/ObjcData.mm 
 - src/Enum.cpp 
 - src/Math.cpp 
 - src/String.cpp  [haxe,hxstring]
Link: liboutput.iphoneos-v7.a
Called from ? line 1
Called from Main.hx line 214
Called from Main.hx line 172
Called from Main.hx line 184
Called from plat/IOSGroup.hx line 86
Called from Main.hx line 61
Called from /usr/local/lib/haxe/std/neko/_std/sys/FileSystem.hx line 94
Uncaught exception - std@sys_read_dir
pc29:myproj thomasfetiveau$ 

But there is still an Uncaught exception at the end. What is that? (sorry for all those question, I've not used hxcpp since 2014).

Also, has this first hxccp issue been reported on hxcpp github issue tracker already?

Aurel300 commented 6 years ago

Ok, good. Don't worry – the issue is now with plumob, not hxcpp. I have just pushed a new commit. Update plumob with haxelib update, then rebuild the run script (haxe make.hxml in the run-src directory). Then try building the project again.

As for the hxcpp issue, I have asked Hugh on Gitter already. I'll wait a bit for him to react, and open the issue myself if he doesn't.

zabojad commented 6 years ago

OK, done. Now it says:

$ haxelib run plumob build iphone
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARM64]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARM64="1" -DHXCPP_CPP11="1" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.404" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.4" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-64/__pch/haxe/hxcpp.h.gch...

Compiling group: haxe
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -Iinclude -c -stdlib=libc++ -O2 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARM64 -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,static]
 - src/plumob/ios/Events.mm 
 - src/plumob/ios/EventListener.mm 
 - src/haxe/ds/IntMap.mm 
 - src/haxe/Log.mm 
 - src/haxe/IMap.mm 
 - src/Std.mm 
 - src/Main.mm 
 - src/__boot__.mm 
 - src/__resources__.mm 

Compiling group: __lib__
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -Iinclude -DHX_DECLARE_MAIN -c -stdlib=libc++ -O2 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARM64 -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,main,static]
 - src/__lib__.mm 
Link: liboutput.iphoneos-64.a
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARMV7]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARMV7="1" -DHXCPP_CPP11="1" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.404" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.4" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
Creating /Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/hx/obj/iphoneos-c11-v7/__pch/haxe/hxcpp.h.gch...

Compiling group: haxe
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -Iinclude -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,static]
 - src/plumob/ios/Events.mm 
 - src/plumob/ios/EventListener.mm 
 - src/haxe/ds/IntMap.mm 
 - src/haxe/Log.mm 
 - src/haxe/IMap.mm 
 - src/Std.mm 
 - src/Main.mm 
 - src/__boot__.mm 
 - src/__resources__.mm 

Compiling group: __lib__
xcrun --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk clang++ -Iinclude -DHX_DECLARE_MAIN -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk -miphoneos-version-min=5.0 -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -DHXCPP_OBJC(haxe) -I/Users/thomasfetiveau/wksp_haxelib/hxcpp/include -fexceptions -fstrict-aliasing ... tags=[haxe,main,static]
 - src/__lib__.mm 
Link: liboutput.iphoneos-v7.a
lipo [-create,liboutput.iphoneos-64.a,liboutput.iphoneos-v7.a,-output,../hx-out/hx.fat-iphoneos.a]
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild [CODE_SIGNING_REQUIRED=NO,-verbose,-sdk,/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk]
xcodebuild: error: SDK "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk" cannot be located.
error: command failed (/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild)

I've tried adding this line in my plumob.json:

      ,"build-flags-haxe": [
        "-D", "IPHONE_VER=11.0"
      ]

without success:

$ haxelib run plumob build iphone
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARM64,-D,IPHONE_VER=11.0]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARM64="1" -DHXCPP_CPP11="1" -DIPHONE_VER="11.0" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.404" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.4" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARMV7,-D,IPHONE_VER=11.0]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARMV7="1" -DHXCPP_CPP11="1" -DIPHONE_VER="11.0" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.404" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.4" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
lipo [-create,liboutput.iphoneos-64.a,liboutput.iphoneos-v7.a,-output,../hx-out/hx.fat-iphoneos.a]
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild [CODE_SIGNING_REQUIRED=NO,-verbose,-sdk,/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk]
xcodebuild: error: SDK "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk" cannot be located.
error: command failed (/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild)
Aurel300 commented 6 years ago

Ah, I need to autodetect the SDK that plumob should ask for somehow. I'm not yet sure how, or even if I actually need to pass an SDK argument … For now, you can put this in your plumob.json, in the top-level object (i.e. the one which specifies project settings).

,"env": {
   "xcode_sdk_ios": "<wherever the .sdk folder is>"
  ,"xcode_sdk_ios_sim": "<wherever the .sdk folder is (simulator)>"
}
zabojad commented 6 years ago

Hey!

Now it says:

...

/Users/thomasfetiveau/wksp_tests/plumob/myproj/build/iphone/ios/project/HaxeAppDelegate.mm:1:9: fatal error: 'hxcpp.h' file not found
#import <hxcpp.h>
        ^~~~~~~~~
1 error generated.

** BUILD FAILED **

The following build commands failed:
    CompileC build/project.build/Release-iphoneos/Applicationname.build/Objects-normal/armv7/HaxeAppDelegate.o HaxeAppDelegate.mm normal armv7 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/project.build/Release-iphoneos/Applicationname.build/Objects-normal/arm64/HaxeAppDelegate.o HaxeAppDelegate.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)
error: command failed (/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild)
Aurel300 commented 6 years ago

Sorry for the never-ending debugging. And also thanks for being the first volunteer here :D

Ok, I pushed another version, please haxelib update and rebuild the run script. Now it should auto-detect your hxcpp path, and not rely on a specific iOS SDK. You can probably get rid of the xcode_sdk_ios and xcode_sdk_ios_sim in env :)

zabojad commented 6 years ago

Hi there :)!

No problem, I understand the project is just starting.

I've updated plumob and re-run make.hxml for the run scripts.

I also removed the env node in the plumob json file.

Now I have:

$ haxelib run plumob build iphone
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARM64,-D,IPHONE_VER=11.0]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARM64="1" -DHXCPP_CPP11="1" -DIPHONE_VER="11.0" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.404" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.4" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
haxe [-lib,objc-uikit10.2,-lib,plumob,Main,-D,objc,-D,PLUMOB_IOS,-D,DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,-D,ios,-D,HXCPP_CPP11,-cpp,build/iphone/ios/hx,-D,iphone,-D,HXCPP_ARMV7,-D,IPHONE_VER=11.0]
haxelib run hxcpp Build.xml haxe -DDEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" -DHXCPP_ARMV7="1" -DHXCPP_CPP11="1" -DIPHONE_VER="11.0" -DPLUMOB_IOS="1" -Dhaxe3="1" -Dhaxe_ver="3.404" -Dhxcpp_api_level="331" -Dios="1" -Diphone="1" -Dobjc="1" -Dobjc-uikit10.2="0.0.1" -Dobjc_uikit10.2="0.0.1" -Dplumob="0.0.1" -Dsource-header="Generated by Haxe 3.4.4" -I"/Users/thomasfetiveau/wksp_haxelib/plumob/src/" -I"/Users/thomasfetiveau/wksp_haxelib/hx-objc-externs/externs/uikit10.2/./" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
lipo [-create,liboutput.iphoneos-64.a,liboutput.iphoneos-v7.a,-output,../hx-out/hx.fat-iphoneos.a]
haxelib [path,hxcpp]
IOSGroup.hx:98: autodetected HXCPP: /Users/thomasfetiveau/wksp_haxelib/hxcpp/
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild [CODE_SIGNING_REQUIRED=NO,-verbose,-sdk,/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneOS.sdk]
xcodebuild: error: SDK "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneOS.sdk" cannot be located.
error: command failed (/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild)

which is odd because I'm building for iphone and not iphonesim. Also, the path to the iphonesim SDK would be different by default:

$ ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
iPhoneSimulator.sdk iPhoneSimulator11.0.sdk
Aurel300 commented 6 years ago

Yes, unfortunately another typo. haxelib update and rebuild run please :)

Btw: if yet more problems occur after this, it might be easier and faster to continue debugging over e.g. gitter (https://gitter.im/HaxeFoundation/haxe) or the #haxe IRC channel on Freenode.

zabojad commented 6 years ago

tadaaaa:

** BUILD SUCCEEDED **

Thank you for your help @Aurel300 !

Aurel300 commented 6 years ago

Very nice. Thanks again for debugging :)

Does the app work as expected?

zabojad commented 6 years ago

@Aurel300 I haven't even tested (I'm currently working on something else).

I just tested now and the app crashes right after launch:

2017-11-08 13:10:41.698283+0100 Applicationname[802:242808] HAXE TRACE: Creating a window ...
2017-11-08 13:10:41.698456+0100 Applicationname[802:242808] HAXE TRACE: 0 0 320 480
2017-11-08 13:10:41.700847+0100 Applicationname[802:242808] HAXE TRACE: Creating a view ...
2017-11-08 13:10:41.701206+0100 Applicationname[802:242808] HAXE TRACE: Creating a label ...
2017-11-08 13:10:41.703196+0100 Applicationname[802:242808] HAXE TRACE: Creating a button ...
2017-11-08 13:10:41.704656+0100 Applicationname[802:242808] HAXE TRACE: Setting button action ...
2017-11-08 13:10:41.705765+0100 Applicationname[802:242808] HAXE TRACE: Adding components to view ...
2017-11-08 13:10:41.706082+0100 Applicationname[802:242808] HAXE TRACE: Adding view to window ...
2017-11-08 13:10:41.706750+0100 Applicationname[802:242808] HAXE TRACE: Showing window ...
2017-11-08 13:10:41.711884+0100 Applicationname[802:242808] *** Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3600.9.1/UIApplication.m:3677
2017-11-08 13:10:41.712381+0100 Applicationname[802:242808] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Application windows are expected to have a root view controller at the end of application launch'
*** First throw call stack:
(0x1ce23b3d 0x1c0ab067 0x1ce23a19 0x1d71952d 0x222cc24f 0x222de7c5 0x222c935b 0x1e704c13 0x1e704acd 0x1e704db7 0x1cddffdd 0x1cddfb05 0x1cdddf51 0x1cd311af 0x1cd30fd1 0x220bee2d 0x220b9a53 0xb3563 0x1c51e4eb)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 
zabojad commented 6 years ago

I've workaround the issue by adding:

      var someController = UIViewController.alloc().initWithNibName_bundle(null,null);
      window.setRootViewController(someController);

      trace("Showing window ...");
      window.makeKeyAndVisible();

However, the button doesn't react to tap. Could it be due to my workaround? Note that nothing crashes:

2017-11-08 13:48:19.459090+0100 Applicationname[858:250658] HAXE TRACE: Creating a window ...
2017-11-08 13:48:19.459419+0100 Applicationname[858:250658] HAXE TRACE: 0 0 320 480
2017-11-08 13:48:19.463762+0100 Applicationname[858:250658] HAXE TRACE: Creating a view ...
2017-11-08 13:48:19.464124+0100 Applicationname[858:250658] HAXE TRACE: Creating a label ...
2017-11-08 13:48:19.466267+0100 Applicationname[858:250658] HAXE TRACE: Creating a button ...
2017-11-08 13:48:19.467699+0100 Applicationname[858:250658] HAXE TRACE: Setting button action ...
2017-11-08 13:48:19.468744+0100 Applicationname[858:250658] HAXE TRACE: Adding components to view ...
2017-11-08 13:48:19.469045+0100 Applicationname[858:250658] HAXE TRACE: Adding view to window ...
2017-11-08 13:48:19.474881+0100 Applicationname[858:250658] HAXE TRACE: Showing window ...
zabojad commented 6 years ago

@Aurel300 any idea ?

Aurel300 commented 6 years ago

Hey, sorry. I wanted to reply when I actually got to fixing it, but I probably won't till tomorrow.

I have the same issue (Application windows are expected to have a root view controller), but for some reason it doesn't crash my app. I guess it's because it is not even allowed on SDK 11.0, but it works on 10.2? Anyway, I will try adding a dummy view controller and yes, it likely catches any touch events for the window hence the button not working.

zabojad commented 6 years ago

Great, ping me when you've got something new :)...

Aurel300 commented 6 years ago

Ok. I changed the example app to create a root viewController, which then creates the actual view. Apparently, apps without a root viewController are ancient (5+ years?) on iOS, so it was just my luck that I used such an old (Objective-C) example app as a reference.

Unfortunately, the code now looks more complicated than it should be. It needs to create a native Objective-C class extending UIViewController, that is then wrapped with some Haxe code, and the Main class exists separate from that also. In the future I will look into making situations like these simpler with Obj-C wrappers / extenders / anonymous classes provided in the form of build macros.

For now though, see if the app works. :)

zabojad commented 6 years ago

@Aurel300 I just tested your last commits. Yes, the example now works...

I'll stay tuned to your next additions to plumob!