Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 09:59
    waruqi closed #1514
  • 09:59
    waruqi reopened #1515
  • 09:59
    waruqi closed #1515
  • 09:59
    waruqi commented #1515
  • 09:59
    waruqi commented #1515
  • 09:59
    waruqi edited #1515
  • 08:10
    heheda123123 opened #1515
  • 08:06
    waruqi reopened #1514
  • 08:06
    waruqi closed #1514
  • 08:06
    waruqi edited #1514
  • 07:39
    Cutano commented #2902
  • 07:24
    heheda123123 opened #1514
  • 06:55
    Cutano commented #2902
  • Oct 06 14:36
    waruqi commented #1512
  • Oct 06 14:25
    PoloNX commented #1512
  • Oct 06 14:18
    waruqi closed #1512
  • Oct 06 13:53
    waruqi synchronize #1512
  • Oct 06 13:41
    waruqi commented #2902
  • Oct 06 13:30
    waruqi synchronize #1512
  • Oct 06 13:30
    waruqi synchronize #1512
ruki
@waruqi
嗯 你试下不就知道了
Guowei Fu
@CodeMonkey19940630
您好,请问我使用add_deps函数引入一个已经生成的.so文件应该怎么做呢?
ruki
@waruqi
add_links add_linkdirs
Guowei Fu
@CodeMonkey19940630
warning: cannot match target(CUDAPulseDopplerRadarDisplay).add_files("src/CUDAPulseDopplerRadarDisplay/*.cu") at ./xmake.lua:5
您好,我在编译的时候遇到了这种警告
这重要么
能忽略么?
还是有什么解决方法呢?
大佬们
Guowei Fu
@CodeMonkey19940630
问题以解决,3Q!!!!
GJMVP
@guangjieMVP
你好,请问这错误是咋回事?error: /usr/include/x86_64-linux-gnu/bits/stdint-intn.h:24:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘typedef’ typedef __int8_t int8_t;
在xmake中没有设置工具链,按道理应该会使用系统默认的工具链吧?就包含个#include <stdint.h>,之前用xmake编译个很小的程序也是出现个很怪的问题导致编译不通过,使用用gcc xxx.c -o xxx这样的形式编译是证明程序是没有可以编译通过。出现这些问题感觉就好像是调用的不是默认的gcc工具链
imDpeng
@imDpeng
我想在项目构建时自动拉取git仓库中的某个分支的某个commit对应的代码,然后自动编译配置到当前项目内,要怎么实现呢?请教各位。
ruki
@waruqi

我想在项目构建时自动拉取git仓库中的某个分支的某个commit对应的代码,然后自动编译配置到当前项目内,要怎么实现呢?请教各位。

做成 package ,通过 add_versions 指定 git commit ,参考 https://github.com/xmake-io/xmake-repo/blob/57aa0bef602d43b43abe7d2e265d155e4cdd7b8c/packages/x/x264/xmake.lua#L7

imDpeng
@imDpeng
实现了,谢谢 @waruqi ,不过我还是有些迷惑,add_versions()这个函数是有两种用法吗。
我看了官方文档,我理解的意思是,
add_urls("https://github.com/FFmpeg/FFmpeg/archive/n$(version).zip", {alias = "github"})
add_versions("home:4.0.2", "346c51735f42c37e0712e0b3d2f6476c86ac15863e4445d9e823fe396420d056")
其中add_urls()传参为git仓库中release对应的一个源码压缩包下载路径。add_versions()中第一个参数为版本号,会用来拼接下载路径;第二个参数是该压缩包sha256,用来校验下载是否完整正确。
刚刚您给我看的文档中
add_urls("http://git.videolan.org/git/x264.git")
add_versions("v2021.09.29", "66a5bc1bd1563d8227d5d18440b525a09bcf17ca")
其中add_urls()为git仓库地址。add_versions()中第一个参数为branch或tag名,第二个参数为commit号。这里并不需要sha256信息。
我理解的对吗?
ruki
@waruqi
add_versions("version", "tar sha256 or git commit or git tag or git branch")
根据 url 而定
imDpeng
@imDpeng
理解了,感谢
团长CXYsama
@captainfffsama
大佬们 请问这个xrepo中的opencv 安装的时候默认带contrib包的么?如何设置不带呢?还有就是add_resources 这个函数我在文档上也没有搜到用法说明
imDpeng
@imDpeng

$ xrepo install eigen
note: install or modify (m) these packages (pass -y to skip confirm)?
in xmake-repo:
-> eigen 3.4.0
please input: y (y/n/m)
y
=> download https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.bz2 .. failed
=> download https://gitlab.com/libeigen/eigen .. failed

we can also download these packages manually:

我在通过xrepo安装eigen,但是出现上述错误,请问这种情况该如何解决。

imDpeng
@imDpeng
我还有一个问题,我要装一个依赖,使用package.tools.autoconf编译。它依赖bzip2。我的配置如下
package("htslib")
add_deps("bzip2")
add_urls("git@xxxxxx/htslib.git")
add_versions("master", "0adf2186dea8872acd27de40cb08d124ec41e68b")
on_install("linux", function (package)
import("package.tools.autoconf").install(package)
end)
package_end()
环境构建时,./configure报错,显示无法找到bzip2依赖。
可以看到bzip2正确安装在.xmake/packages的目录下。
手动在htslib源码目录下执行./configure CPPFLAGS=-I/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/include LDFLAGS="-L/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/lib -Wl,-R/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/lib"可以顺利完成configure阶段。
请问如何配置可以让package.tools.autoconf配置add_deps()中指定的包到./configure路径
rener2020
@rener2020
add_requires("eigen" ,"brew::sophus > 1")
add_rules("mode.debug", "mode.release")
target("test")
set_kind("binary")
add_files("src/*.cpp")
得到错误 ffetch brew::sophus-latest failed!
应该如何正确引入brew包呢
ruki
@waruqi

$ xrepo install eigen
note: install or modify (m) these packages (pass -y to skip confirm)?
in xmake-repo:
-> eigen 3.4.0
please input: y (y/n/m)
y
=> download https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.bz2 .. failed
=> download https://gitlab.com/libeigen/eigen .. failed

we can also download these packages manually:

我在通过xrepo安装eigen,但是出现上述错误,请问这种情况该如何解决。

根据上面的错误提示操作,已经提示的很明显了

我还有一个问题,我要装一个依赖,使用package.tools.autoconf编译。它依赖bzip2。我的配置如下
package("htslib")
add_deps("bzip2")
add_urls("git@xxxxxx/htslib.git")
add_versions("master", "0adf2186dea8872acd27de40cb08d124ec41e68b")
on_install("linux", function (package)
import("package.tools.autoconf").install(package)
end)
package_end()
环境构建时,./configure报错,显示无法找到bzip2依赖。
可以看到bzip2正确安装在.xmake/packages的目录下。
手动在htslib源码目录下执行./configure CPPFLAGS=-I/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/include LDFLAGS="-L/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/lib -Wl,-R/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/lib"可以顺利完成configure阶段。
请问如何配置可以让package.tools.autoconf配置add_deps()中指定的包到./configure路径

确认系统是否安装了 pkg-config ,默认 autoconf 依赖这个去找库,如果还是找不到 。。install(, configs, {packagedeps = "bzip2"}) 强行打入 includes/linkdirs

add_requires("eigen" ,"brew::sophus > 1")
add_rules("mode.debug", "mode.release")
target("test")
set_kind("binary")
add_files("src/*.cpp")

brew::xxx 包不支持版本选择,去掉版本号

imDpeng
@imDpeng

我还有一个问题,我要装一个依赖,使用package.tools.autoconf编译。它依赖bzip2。我的配置如下
package("htslib")
add_deps("bzip2")
add_urls("git@xxxxxx/htslib.git")
add_versions("master", "0adf2186dea8872acd27de40cb08d124ec41e68b")
on_install("linux", function (package)
import("package.tools.autoconf").install(package)
end)
package_end()
环境构建时,./configure报错,显示无法找到bzip2依赖。
可以看到bzip2正确安装在.xmake/packages的目录下。
手动在htslib源码目录下执行./configure CPPFLAGS=-I/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/include LDFLAGS="-L/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/lib -Wl,-R/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/lib"可以顺利完成configure阶段。
请问如何配置可以让package.tools.autoconf配置add_deps()中指定的包到./configure路径

确认系统是否安装了 pkg-config ,默认 autoconf 依赖这个去找库,如果还是找不到 。。install(, configs, {packagedeps = "bzip2"}) 强行打入 includes/linkdirs

我安装了pkg-config 但是仍然无法顺利编译,请问这里有可能是 什么原因。从源代码目录的config.log中发现如下信息,pkg-config的配置应该是成功注入了,为什么不生效呢,感谢答疑,谢谢谢谢。
configure:3404: found /usr/bin/pkg-config
configure:3416: result: /usr/bin/pkg-config
configure:3441: checking pkg-config is at least version 0.9.0
configure:3444: result: yes
.
.
.
PKG_CONFIG='/usr/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH='/mnt/dupeng/.xmake/packages/b/bzip2/1.0.8/8db6bd46210f4711a452b7767b44748c/lib/pkgconfig:/mnt/dupe
ng/.xmake/packages/x/xz/5.2.5/4c10a48296364ecc92f0227290fb3f5c/lib/pkgconfig'

Guowei Fu
@CodeMonkey19940630
您好,请问xmake中与cuda 编译时的-rdc=true等价的语句是什么勒?
Guowei Fu
@CodeMonkey19940630
大佬,我用xmake编译了一个只有核函数的.cu .cuh文件为.so文件然后又写了个工程去调用它并同样使用xmake进行编译,但是可执行程序却无法正确调用.so中的核函数。这是为什么呢?
Guowei Fu
@CodeMonkey19940630
请问如何设置nvcc flag呢?
Guowei Fu
@CodeMonkey19940630
warning: failed to find cuda devices: cudaErrorCompatNotSupportedOnDevice (forward compatibility was attempted on non supported HW)这是什么报错了?
ShenShY
@ShenShY
请问现在不能通过add_files来加入.a文件了吗?
我在同一个文件夹下有同名的静态库和动态库,然后使用add_files来添加静态库,不成功,但是也没有报错。
ruki
@waruqi
可以加
ShenShY
@ShenShY
那有什么限制吗?
add_files("mosquitto-2.0.0/lib/libmosquitto.a") 这个代码为什么没有成功呢?
青桑
@ixuan789
您好!请问如何为add_requires()与add_packages()指定路径呢?因为目标机是mips架构,我直接使用add_requires()与add_packages()从repo下载了包,但移植的时候需要换为mips编译出来的依赖,请问这种情况应该如何解决?谢谢!
ruki
@waruqi
没懂 你想搞啥。
下载了包 不就自动编译装了么
青桑
@ixuan789
啊对哦 我可以直接指定mips编译器然后会自动下载编译mips版噢
Talha Saruhan
@talhasaruhan

Hi! I have a quick question and I'd appreciate it a lot if someone could help me.

I have a package that when built creates a binary (.xmake/packages/<letter>/<package name>/<id>/bin/<exe>). And I'd like to have access to it's path while I'm building my project which depends on this package. If I have to I can also edit the xmake.lua for the repo, no problem, I just wanna be able to access it.

Thank you!

In other words, I want to get path of the package the project uses by calling add_packages()
ruki
@waruqi
why do you get path? you can run the package binary in on_xxx, after_xxx scripts directly, add_packages will bind package bin path to $PATH automatically.
青桑
@ixuan789
您好,我使用xmake f -p Linux -a mips --host=linux --cross=mips-linux-gnu- --sdk=/opt/mips-gcc472-glibc216-64bit 设置参数后,下载的包自动编译还会是x86的,
会提示 => install llhttp v3.0.0 .. failed /opt/mips-gcc472-glibc216-64bit/bin/mips-linux-gnu-ld: skipping incompatible /home/user/.xmake/packages/l/llhttp/v3.0.0/0d3949c0d65e40b889db9718509a3460/lib/libllhttp.a when searching for -lllhttp 使用类似export CC=../mips-linux-gnu-gcc设置全局环境变量后,在编译过程中cmake会提示configure: error: in `/home/user/.xmake/cache/packages/2209/j/json-c/0.13.1-20180305/source': configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details whether make sets ... yes checking whether make supports nested variables... yes checking whether make sets ... (cached) yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu 。 想请教一下如何设置xmake才能让下载的包自动编译为mips的,或是传递--host参数给cmake。 谢谢!
ruki
@waruqi
-p cross
青桑
@ixuan789
谢谢!但好像依赖不能自动编译。提示:note: the following packages are unsupported on cross/mips: 我手动编译了所有依赖,请问可以使用xmake g --pkg_searchdirs=/xxx传给xmake使用吗
ruki
@waruqi
说明这个包 目前不支持 交叉编译,提 pr 到 xmake-repo 改进对应包 放开 cross 编译
Ângelo Andrade Cirino
@aacirino
In a newly created C++20 project using modules xmake is adding the compiler flag -fno-implicit-module-maps when it shouldn't, so I've been forced to use an explicit -fmodule-map-file flag. Old projects still build OK.
Is this a new behavior?
leqiqin
@leqiqin
你好,我win上尝试编译polyscope(一个library
https://github.com/nmwsharp/polyscope.git),因为polyscope不被任何xmake相关的package manager包含,我把源码下载到本地然后用“Integrate CMake source library”一节所述方法整合。虽然他显示成功,但什么都没编译出来,我之后加了on_test(function (package)用节中类似方法test通不过,显示xx.h(不管xx是啥)没有被included。我直接进入包所在的路径用xmake package,虽然build成功但显示xmake.lua没有成功生成,artifact也空空如也。请问可能的原因是什么?