-
-
Notifications
You must be signed in to change notification settings - Fork 784
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows平台上os.run()与shell执行结果不匹配 #5389
Comments
Title: os.run() on Windows platform does not match the shell execution result |
这好像跟 xmake 没啥关系吧,conan/cmake 的构建问题。。os.run 就是调用 CreateProcess 创建子进程。。不保证一定跟 cmd/powershell 完全一样的 envs 环境。。但不管是什么 envs ,conan 自身构建失败,跟 xmake 无关。 |
This seems to have nothing to do with xmake, but a conan/cmake build problem. . os.run is to call CreateProcess to create a child process. . There is no guarantee that the envs environment will be exactly the same as cmd/powershell. . But no matter what envs is, conan itself fails to build and has nothing to do with xmake. |
确实利用创建进程的winapi envs环境不同,但是利用c#写的控制台程序,另外开启cmd进程运行conan的进程进行构建仍旧会失败,这是直接调用cmd的shell然后向cmd进程输入启动build脚本的 |
It is true that the winapi envs environment used to create the process is different, but using a console program written in C# and opening the cmd process to run the conan process will still fail to build. This is to directly call the cmd shell and then enter the startup build script into the cmd process. |
那这个跟 xmake 没啥关系。 |
Then this has nothing to do with xmake. |
Xmake 版本
2.9.3
操作系统版本和架构
Windows 11 23H2 22631.3737
描述问题
我在我的xmake-repo的包的on_install中使用os.run()运行conan build脚本在相同的windows平台下可以正常构建,但是使用os.run(),os.exec(),os.iorun()执行后即发生错误,如图. 我的xmake-repo仓库
期待的结果
os.run()的结果与shell相匹配
工程配置
附加信息和错误日志
文件text.txt
The text was updated successfully, but these errors were encountered: