HaxeFoundation / HaxeFoundation/hxcpp
Error: Please run hxcpp using haxelib
- Dominant language
- C++
- Stars
- 330
- Forks
- 227
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 18
Description
Hi.
Something weird is happening to me lately related to this code in `BuildTools.hx`:
```
if (args.length>0)
{
var last:String = (new Path(args[args.length-1])).toString();
var isRootDir = last=="/";
if (!isRootDir)
{
var slash = last.substr(-1);
if (slash=="/"|| slash=="\\")
last = last.substr(0,last.length-1);
}
if (isRootDir || (FileSystem.exists(last) && FileSystem.isDirectory(last)))
{
// When called from haxelib, the last arg is the original directory, and
// the current direcory is the library directory.
HXCPP = PathManager.standardize(Sys.getCwd());
defines.set("HXCPP",HXCPP);
args.pop();
Sys.setCwd(last);
}
}
```
I have tried with 4.0.8 release from haxelib and the current git version with the same result.
I figure out where is the problem. It happens if I use `haxelib dev` in my libraries. If I use one library with the `dev` set then the error is shown. If I use 2 libraries then the error doesn't happen.
The .dev content for my libraries:
MagickHx: `D:\workspace-pablo\projects\DevelAgora\hx\MagickHx`
CoreHxLib: `D:\workspace-pablo\projects\Captura\hx\CoreHxLib`
MagickHx has the `classPath` var to `src` in the `haxelib.json`.
Here the output from the tests:
1 library is used (it isn't working):
`
haxe build.hxml
haxelib run hxcpp Build.xml haxe -DHXCPP_M64="1" -DMagickHx="0.1.0" -Dhaxe-threadpool="1.0.0" -Dhaxe3="1" -Dhaxe_threadpool="1.0.0" -Dhaxe_ver="3.407" -Dhxcpp_api_level="331" -Dpure="1" -Dsource-header="Generated by Haxe 3.4.7" -Dtink_chunk="0.2.0" -Dtink_cli="0.4.1" -Dtink_core="1.18.0" -Dtink_io="0.6.2" -Dtink_macro="0.17.2" -Dtink_streams="0.3.2" -Dtink_stringly="0.3.1" -Duse-rtti-doc="1" -Duse_rtti_doc="1" -Dwindows="1" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\haxe-threadpool/git/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_stringly/0,3,1/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_macro/0,17,2/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_core/1,18,0/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_streams/0,3,2/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_chunk/0,2,0/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_io/0,6,2/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_cli/0,4,1/src/" -I"D:\\workspace-pablo\\projects\\DevelAgora\\hx\\MagickHx\\src\\" -I"src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\extraLibs/" -I"" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/cpp/_std/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/"
`
The `args` and `last` variables are:
`
args = [Build.xml,haxe,-DHXCPP_M64=1,-DMagickHx=0.1.0,-Dhaxe-threadpool=1.0.0,-Dhaxe3=1,-Dhaxe_threadpool=1.0.0,-Dhaxe_ver=3.407,-Dhxcpp_api_level=331,-Dpure=1,-Dsource-header=Generated by Haxe 3.4.7,-Dtink_chunk=0.2.0,-Dtink_cli=0.4.1,-Dtink_core=1.18.0,-Dtink_io=0.6.2,-Dtink_macro=0.17.2,-Dtink_streams=0.3.2,-Dtink_stringly=0.3.1,-Duse-rtti-doc=1,-Duse_rtti_doc=1,-Dwindows=1,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\haxe-threadpool/git/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_stringly/0,3,1/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_macro/0,17,2/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_core/1,18,0/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_streams/0,3,2/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_chunk/0,2,0/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_io/0,6,2/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_cli/0,4,1/src/,-ID:\\workspace-pablo\\projects\\DevelAgora\\hx\\MagickHx\\src" -Isrc/ -ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\extraLibs/ -I -ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/cpp/_std/ -ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/ D:\workspace-pablo\projects\3DVista\hx\tilerhxapp\bin/]
`
`
last = -ID:\\workspace-pablo\\projects\\DevelAgora\\hx\\MagickHx\\src" -Isrc/ -ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\extraLibs/ -I -ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/cpp/_std/ -ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/ D:\workspace-pablo\projects\3DVista\hx\tilerhxapp\bin/
`
2 libraries are used and it works, but the `args` value is bad I think.
`
haxelib run hxcpp Build.xml haxe -DCoreHxLib="0.0.1" -DHXCPP_M64="1" -DMagickHx="0.1.0" -Dhaxe-threadpool="1.0.0" -Dhaxe3="1" -Dhaxe_threadpool="1.0.0" -Dhaxe_ver="3.407" -Dhxcpp_api_level="331" -Dpure="1" -Dsource-header="Generated by Haxe 3.4.7" -Dtink_chunk="0.2.0" -Dtink_cli="0.4.1" -Dtink_core="1.18.0" -Dtink_io="0.6.2" -Dtink_macro="0.17.2" -Dtink_streams="0.3.2" -Dtink_stringly="0.3.1" -Duse-rtti-doc="1" -Duse_rtti_doc="1" -Dwindows="1" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\haxe-threadpool/git/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_stringly/0,3,1/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_macro/0,17,2/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_core/1,18,0/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_streams/0,3,2/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_chunk/0,2,0/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_io/0,6,2/src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_cli/0,4,1/src/" -I"D:\\workspace-pablo\\projects\\Captura\\hx\\CoreHxLib\\" -I"D:\\workspace-pablo\\projects\\DevelAgora\\hx\\MagickHx\\src\\" -I"src/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\extraLibs/" -I"" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/cpp/_std/" -I"D:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/"
`
`
args = [Build.xml,haxe,-DCoreHxLib=0.0.1,-DHXCPP_M64=1,-DMagickHx=0.1.0,-Dhaxe-threadpool=1.0.0,-Dhaxe3=1,-Dhaxe_threadpool=1.0.0,-Dhaxe_ver=3.407,-Dhxcpp_api_level=331,-Dpure=1,-Dsource-header=Generated by Haxe 3.4.7,-Dtink_chunk=0.2.0,-Dtink_cli=0.4.1,-Dtink_core=1.18.0,-Dtink_io=0.6.2,-Dtink_macro=0.17.2,-Dtink_streams=0.3.2,-Dtink_stringly=0.3.1,-Duse-rtti-doc=1,-Duse_rtti_doc=1,-Dwindows=1,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\haxe-threadpool/git/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_stringly/0,3,1/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_macro/0,17,2/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_core/1,18,0/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_streams/0,3,2/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_chunk/0,2,0/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_io/0,6,2/src/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\lib\\tink_cli/0,4,1/src/,-ID:\\workspace-pablo\\projects\\Captura\\hx\\CoreHxLib" -ID:\\workspace-pablo\\projects\\DevelAgora\\hx\\MagickHx\\src",-Isrc/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\extraLibs/,-I,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/cpp/_std/,-ID:\\workspace-pablo\\sdks\\HaxeToolkit\\haxe\\std/,D:\workspace-pablo\projects\3DVista\hx\tilerhxapp\bin/]
`
`
last = D:\workspace-pablo\projects\3DVista\hx\tilerhxapp\bin/
`
You can check the problem is the backslashes added. If I change the .dev file to use normal slashes then it works, but I can't use `haxelib dev MY_LIB .` directly, or copy from Windows bar, I need to change it manually.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.