问题标签 [cling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
130 浏览

macos - 如何去除粘连?

在我的 MAC OS 10.15 Catalina 上运行 clang --version 后,我得到了以下结果:

当我使用 cmake 时,它​​一直使用由 cling 安装的 clang。现在我在编译包含头文件 cmath.h 的 c++ 代码时出现错误。如何卸载cling并使用Apple clang?

0 投票
3 回答
1881 浏览

c++ - 在 Windows 上紧贴 Jupyter:内核无法启动

背景:我正在尝试在这里安装 cling c++ 解释器。我在 Windows 上,并且 Anaconda 运行良好,Jupyter 笔记本也可以与现有的 Python 内核一起正常工作。安装过程表面上很顺利,但是一旦我尝试在已安装的内核上打开 Jupyter 笔记本,就会出现内核错误。

(最后我希望能够将 c++ 与 Jupyter notebook 一起使用,所以如果有人取得了任何成功,请您分享您的经验。在这一点上,虽然 xeus-cling 不能用于 Windows,但正如许多人所说,这种紧贴出现成为一个单独的东西)

安装:这是我所做的:

  1. https://root.cern.ch/download/cling/下载二进制 cling_2019-11-28_arm64.tar.bz2 (这对 Windows 是否正确?)
  2. 提取并放置在 Program Files 文件夹中
  3. 按照此处的说明,添加C:\Program Files\cling_2019-11-28_arm64\bin到 PATH 变量
  4. 激活基础 Anaconda 环境
  5. cd .../share/cling/Jupyter/kernel
  6. pip install -e .
  7. jupyter-kernelspec install --user cling-cpp11

到目前为止,一切似乎都很好,没有警告/错误。

错误:然后我加载我的 Jupyter 笔记本并尝试运行 cpp11 内核,但它无法以长错误回溯开始,其中第一个/最后一个项目显示为:

在 cmd 上执行以下操作:

故障排除 (1) : ... 似乎表明它无法找到jupyter-cling-kernel. 但是我确实在文件夹中命名jupyter-cling-kernel.../Anaconda3/Scripts文件,并且该文件夹也在我的 PATH 变量中。打开后发现是一个只有几行的python文件。看起来它对应于上面的命令。

所以然后我修改了我的 kernel.json 文件,添加了绝对 python 路径(以便它知道用 python 运行它)和 jupyter-cling-kernel 的绝对路径。(原来只是"argv:["jupyter-cling-kernel", "-f", ...

故障排除 (2) :... 这确实似乎是正确的方向,至少它正在运行……但现在另一个错误:

现在通过一些谷歌搜索,这个 fcntl 似乎不适用于 Windows。所以此时我想知道我是否下载了错误的二进制文件,或者我应该修改这个 clingkernel.py 文件还是我需要自己进行一些编译?

同样,如果你们中的任何人知道如何让 Jupyter 的 c++ 运行(在 Windows 上),如果您能分享您的经验,不胜感激。谢谢。

0 投票
0 回答
144 浏览

c++ - 使用 MinGW 编译错误:异常处理

我正在尝试在 Windows 7 上使用 MinGw 编译 Cling。它在 90% 时失败,并出现以下错误:

我使用这些命令来构建它:

我试图将 -fexceptions 添加到 cmake 标签中,如下所示: -DCMAKE_CXXFLAGS="-fexceptions" 和 this: -DCMAKE_CXX_FLAGS="-fexceptions" 但这没有帮助,我得到了同样的错误。

任何帮助,将不胜感激。


编辑:

我试图避免这种情况,但我修改了文件\tools\cling\lib\Interpreter\CMakeLists.txt\tools\cling\lib\UserInterface\CMakeLists.txt摆脱了这个错误。我if (UNIX)改为if (LLVM_COMPILER_IS_GCC_COMPATIBLE).

然后我得到wchar_t这样的转换错误: error: cannot convert 'LPTSTR {aka char*}' to 'const wchar_t*'所以我添加-DCMAKE_CXX_FLAGS="-DUNICODE -D_UNICODE"到 cmake 调用:

现在我收到以下错误:

我想_MSC_VER错误不是问题,我可以伪造一些随机版本,但是 to 的演员表FARPROCvoid*

0 投票
2 回答
653 浏览

c++ - 如何将 boost 与 xeus-cling jupyter 内核一起使用?

我正在运行 Pop!_OS(ubuntu 衍生产品)并从默认存储库中安装了 boost(libboost-all-dev)。我知道它已正确安装,因为我可以使用 GCC 编译和运行简单的 boost odeint 示例。

但是,当我尝试使用 zeus-cling 内核在 jupyter 笔记本中运行相同的示例时,在包含 odeint 标头时出现错误。我可以在执行此代码时重新创建错误:

我得到的错误信息是:

据我了解bits/getopt_posix.h,只有 GCC 标头,因此我认为问题可能是因为 boost 标头正在配置自己,就好像它们在 GCC 下编译而不是 cling/clang 一样。

那么,如何在 xeus-cling jupyter 笔记本中正确包含 boost?

0 投票
1 回答
944 浏览

c++ - C++ 内核的 Jupyter 笔记本错误 [cling]

我已经安装了在 Jupiter 笔记本中使用 C++ 的紧贴内核,但是在实现了代码之后

我收到一个错误,因为 ---> 错误:这里不允许函数定义 int main() {

0 投票
1 回答
227 浏览

c++ - 每次都产生相同坐标的本地化(多点定位)代码?

编辑:本地化总是关于x=1980.000032943933547358028590679168701171875, y=3191.99997642902735606185160577297210693359375

我编写了以下代码来解决到达时间延迟问题。也就是说,给定三个观察者的位置、某些信号的速度以及每个接收器“看到”信号的时间,我想定位源。在这里,我们假设源和观察者位于二维平面(平面欧几里得空间)中。

我的解决方案如下:

给定每个观察者看到信号的时间,我选择一个接收器作为“基线”,我认为它是 t=0。然后我从其他两个观察者的到达时间中减去那个时间。现在,我为每个观察者分配一个圆,半径由这个差异给出(“基线”观察者从 r=0 开始),我慢慢增加每个圆的半径,直到所有三个圆在某个点相交。

实际上,它们不太可能精确地相交在一个点上,因为我只能在每次迭代时将半径增加一个离散量,而且我们还假设但不知道观察者的时钟是精确同步的。

为了解决这个问题,我改编了 Paul Bourke 的代码:http://paulbourke.net/geometry/circlesphere/tvoght.c(在这里推理:http: //paulbourke.net/geometry/circlesphere/)。我的改编或多或少与这个相同:https ://stackoverflow.com/a/19724186/14073182 。


我的问题是,代码总是产生相同的本地化,在一个单位的十分之几以内。我尝试生成一些伪数据(即选择一些位置,计算预期延迟,将其输入算法并查看它是否重建正确的定位),并且该算法仍然产生大致相同的定位......即,相当接近中心由三个接收器形成的三角形。

知道我在这里做错了什么吗?我与一些人(从事 GIS、测地线、类似领域的物理学家和一位数学家)交谈过,但没有得到任何结果。

我的代码如下(考虑到所有因素,它相当简短)。要本地化某些来源,请调用localizeSource(a,b,c,&xf,&xy). 其中abc是延迟(半径), 和xfxy存储定位坐标的位置。

0 投票
0 回答
16 浏览

clang - 如何在 Cling 中使用 LLVM IR(或其他类似 REPL 的交互方式)?

我正在学习 LLVM IR,并希望以交互方式使用它。

Cling 支持交互式 Clang,并且效果很好。Cling 支持该asm指令,允许您以交互方式使用本机 ASM。Cling 还宣传支持“Clang 支持的任何语言”。然而,我想不出任何办法让 Cling 与 LLVM IR 一起工作。(虽然 Clang 可以组装 LLVM IR,但它似乎没有内联 LLVM IR 指令,只有一个内联asm指令。)

lli只是一个镜头,不是互动的。

有没有办法将 LLVM IR 与 Cling 一起使用?
如果没有,是否有另一种交互式使用 LLVM IR 的方法?

0 投票
0 回答
39 浏览

android - 坚持 UPnP 替换

我有一个使用 Cling/UPnP 包的 Android 应用程序。不幸的是,该软件包不再维护,并且依赖于其他软件的旧版本。

问:有替代方案吗?我找了很长时间,没有找到任何候选人。

0 投票
0 回答
18 浏览

c++ - 有没有办法在 CLING 中包含宏本身的路径?

在实习期间,我一直在使用基于 CLING 技术的 Root。我知道我可以在包含头文件的路径后包含头文件。

其中 includeFile.c 位于宏文件夹中:

但这也是一项艰巨的任务。我想在宏本身中设置包含路径命令。阅读文档后,我尝试这样做,但它说:“gSystem not found!”

请在这件事上给予我帮助 .. !