我已经在 Linux 上使用 python 模块apriltag(在这里找到https://pypi.org/project/apriltag/)有一段时间了,需要将我的系统转移到 Windows。在我的Windows机器上,我尝试在python3.6上安装apriltag pip包:
python -m pip install apriltag
但轮子没能建造出来,给了我一个很长的错误列表,我相信其中的关键行是
构建自定义规则 C:/Users/xxxx/apriltag_3b8f424df9f543459d5bd3db09137d9f/core/CMakeLists.txt cl : 命令行错误 D8021: 无效的数字参数 '/Wsign-compare'```
担心 PyPI 包可能无法在 Windows 上运行(?)我查看了它所基于的项目,在此处找到https://github.com/swatbotics/apriltag。克隆到它并使用 Visual Studio 构建它,第一次构建失败并显示
错误 D8021 无效的数字参数 '/Wsign-compare'
我在这里查看过,/Wsign-compare但没有发现任何人遇到该错误的例子,更不用说解决它了。让我知道是否有解决办法,或者这个存储库是否永远不会在 Windows 上构建。
谢谢 :)
编辑:添加了上下文的整个 python 构建日志
python -m pip install apriltag
Collecting apriltag
Using cached apriltag-0.0.16.tar.gz (201 kB)
Building wheels for collected packages: apriltag
Building wheel for apriltag (setup.py) ... error
ERROR: Command errored out with exit …Run Code Online (Sandbox Code Playgroud) 我在 linux 上使用 python3.6,遇到了一个非常明显的 abs() 函数失败。我的变量x最终变成了一个非常大的负数(可能是-inf),但绝对值abs()函数仍然返回一个负数,这应该是不可能的。我通过在abs()but....的输入中添加 0.1 来快速修复我的代码,我是否误解了abs()应该如何使用?
$> x
-9223372036854775808
$> abs(x)
-9223372036854775808
$> np.abs(x)
-9223372036854775808
$> abs(x+.1)
9.223372036854776e+18
$> np.abs(x+.1)
9.223372036854776e+18
Run Code Online (Sandbox Code Playgroud)
编辑:在下面解决了,但归结x为一个numpy.int64而不仅仅是int我不知道的。