xmake-io / xmake

🔥 A cross-platform build utility based on Lua
https://xmake.io
Apache License 2.0
10.04k stars 785 forks source link

find_packages 在VS code下有bug #587

Closed wangzhankun closed 5 years ago

wangzhankun commented 5 years ago

注:提问题时若使用不能用/没效果/有问题/报错此类模糊表达,但又没有根据下面的模板给出任何相关辅助信息的,将绝对不会有任何反馈。

描述问题

平台: Ubuntu 16.04 VS code 1.36.1

find_packages在VS code的终端下无法使用。具体表现如下,外部终端与VS code内置终端对比: image

同时可能由于find_packages的bug问题,可能会造成链接问题。可见我前天的问题,里面出现了链接的问题,怀疑有可能与此有关。https://github.com/xmake-io/xmake/issues/583#issuecomment-538649475

waruqi commented 5 years ago

看下你的vscode里面错误提示,很明显xmake.lua第一行没找到 add_syslink 。。你xmake.lua 里面没写对,是 add_syslinks 不是 add_syslink,只要是支持多值设置的Api,都会有s的后缀,这块你可以看下文档里面的命名规范说明,https://xmake.io/#/zh-cn/manual/specification

wangzhankun commented 5 years ago

不是啊,我是執行的xmake l find_packages pthread, 在VScode終端下執行的就是這個指令,與外部終端執行的指令是一致的。你说的add_syslinks问题不应该是在执行xmake,xmake去执行xmake.lua的指令的时候才会出错吗?

waruqi commented 5 years ago

正常的,目前只要是在xmake.lua所在的工程目录执行所有xmake xxx 命令,都会加载xmake.lua 包括xmake lua命令,因为xmake.lua里面也会去定义task,只有加载了xmake.lua 才能决定调用哪个task,而xmake lua也只是其中一个内置的task

如果要保证xmake l find_packages每次都会重新检测,不受cache和xmake.lua影响,就切到非工程目录执行就行了