问题标签 [cl]
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.
c++ - 无法打开文件“glew_static_vs2010.lib”和杂注注释
我正在尝试从一本关于现代 OpenGL 的书入手。在书中,我需要链接一些库(即freeglut
glew32
vermilion32
)。我已经下载了 glew 的源代码并生成了 lib。链接我生成的库没有问题,但似乎作者使用pragma comment
它会导致一些链接错误。
在代码中使用的头文件之一(即vgl.h
)中,有这些行
我不知道作者为什么要遵循这种方法。我该如何克服这个问题?这是我的 Makefile
python - 在 Windows 上使用 Cython 编译:缺少源文件名
我正在尝试在 Windows 10 上使用 Cython 编译一个 hello world 示例。我有 Visual Studio 2015 社区。Python 3.5.2
我的 setup.py 看起来像这样:
我要编译的文件如下所示:
我用这个命令构建:
我不断收到此错误:
我一直在做很多研究,但我发现了很多什么都没有。我怎样才能解决这个问题?
ibm-midrange - 如何在 AS/400 RPG 中查看 Pgm 的堆栈?
我对如何找到 pgm 的堆栈有疑问?
EX:我们有三个 pgms PGM 1、PGM 2、PGM 3。
但是 PGM1 调用 PGM 2 和 PGM 2 调用 PGM 3。
我们如何检查 PGM 2 调用的 PGM 3,因为我们只知道 PGM 3。我们不知道其他 pgms。
是否有命令检查 PGM 的堆栈。哪个 PGM 被哪个 PGM 调用而不检查源代码。
谢谢!莫哈末瓦西姆
visual-studio - 在 MSYS 环境中使用 MSVC 工具链(例如:CL.EXE)时,如何避免“未解析的外部符号 _mainCRTStartup”错误?
在 MSYS 环境中使用 MSVC 工具链(例如:CL.EXE)时,如何避免该unresolved external symbol _mainCRTStartup
错误?
细节:
我启动了“VS2013 x64 Native Tools 命令提示符”并C:\msys64\msys2.exe
从那里启动。
在我的 MSYS 会话中,我得到如下结果:
如果我尝试将相同的“cl”命令放入“VS2013 x64 Native Tools 命令提示符”中,则会得到预期的结果:
这发生在我尝试使用cccl使用 MSVC 工具链构建 posix 项目 ( libpostal ) 时,因此我可以将它与其他 MSVC 代码链接。因此,任何涉及 Visual Studio GUI 的答案可能都不会很有帮助:我需要弄清楚如何使它在 MSYS2/MSYS64 环境中工作。
在 MSYS 示例中,我故意移到/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin
$PATH 的开头以避免选择错误的可执行文件。当它位于 $PATH 的末尾时,我最初收到了相同的结果(完全相同的错误消息)。
c++ - 使用函数类型语法声明成员函数
就在最近,我了解到您可以使用具有函数类型的类变量语法声明一个函数(包括方法):
在上面的代码中
fun_global
是一个全局函数,mem_fun_static
是static
成员函数,mem_fun_normal
是一种普通的方法,mem_fun_virtual
是一种virtual
方法,mem_fun_abstract
是一种抽象方法。
double
它们都采用类型和返回值的单个参数int
- 就像function_type
说的那样。
这些年来我都知道 C++ 而我不知道这一点 - 这种语言从未停止让我感到惊讶!顺便说一句 -这里有没有提到这个语法?我没看到这个...
然而,在探索这个对我来说新的特性时,我偶然发现了编译器之间的一些不一致。对于测试,我使用了以下编译器:
- GCC 5.4.0 和 7.1.0,命令行:
g++ -Wall -Wextra -pedantic -std=c++14
- Clang 4.0.1,命令行:
clang++ -Wall -Wextra -pedantic -std=c++14
- MSVC 19.10.25019(VS 2017),命令行:
cl /W4 /EHsc
在我运行两个 GCC 版本的测试中给出了相同的结果,所以我将它们称为 GCC。
= delete
不一致
- 海湾合作委员会:好的
铿锵声:错误!
/li>MSVC:好的
= default
不一致
- 海湾合作委员会:好的
铿锵声:错误!
/li>MSVC:错误!
/li>
内联定义不一致
海湾合作委员会:错误!
/li>铿锵声:错误!
/li>MSVC:好的
问题
哪些编译器在这里?
此外,是否可以:
- 在内联定义中(仅由 MSVC 支持)以某种方式引用参数?
以某种方式使用
function_type
这些函数的也在定义(当在类之外完成时)。以下是可以的(所有编译器)这并没有那么糟糕,因为更改
function_type
应该会导致函数定义处的编译错误(因为它将不再与声明匹配) - 但仍然有可能避免这种情况。
c - 编译器警告 - 参数列表有所不同
我正在尝试编译以下源代码,它可以在gcc
Microsoft 和 Microsoft 的cl.exe
.
但是,我从以下消息中收到C4113 警告:cl.exe
正如我所说,源代码仍然可以成功编译并且似乎可以工作。我的目标是防止在 中发生此警告cl
,因为gcc
在编译时不会生成任何警告。
我假设该函数的声明没有被视为void SomethingBeforeExit(void)
,但是,我不知道如何专门将函数的参数列表声明为void
。
我正在使用VS14
and C/C++ 19.00.23918 for x86
forcl.exe
和gcc v5.4.0
编译器来比较生成的警告。
c++ - Bazel 构建 C++ 中的“歧义符号”
背景
我在使用 cl 编译 C++ 的 Bazel 构建 Windows。
文件子集:
schriter.h
有#include "unicode/utypes.h"
。
uri_utils.h
两者b/cpp/src/strings/stringpiece.h
都有class StringPiece
。third_party/icu/source/common/unicode/stringpiece.h
有class U_COMMON_API StringPiece : public UMemory
a.cc
指StringPiece
并具有这些包括:
a/BUILD
:
b/BUILD
:
third_party/icu/BUILD
:
问题
照原样,构建third_party/icu:common
失败:
third_party/icu/source/stubdata/stubdata.c(20): fatal error C1083: Cannot open include file: 'unicode/utypes.h': No such file or directory
如果我添加copts = ["/Ithird_party/icu/source/common",],
到third_party/icu/BUILD
,则icu:common
构建但目标a
失败:
third_party/icu/source/common/unicode/schriter.h(21): fatal error C1083: Cannot open include file: 'unicode/utypes.h': No such file or directory
相反,如果我添加includes = ["source/common",],
,则icu:common
构建但目标a
失败:
源代码使用 cmake 编译得很好,所以我不需要更改源代码。如何更改 BUILD 文件以正确构建此版本?如何让所有内容都icu
访问其中的标头unicode
,但不暴露unicode/stringpiece.h
给依赖的目标icu
?
c - 如何为 Visual Studio 构建工具 cl.exe 编写 makefile(nmake)
我想通过在系统中调用类似的方式来使用构建工具构建c
应用程序。我写了一个. 它找不到要链接的文件和文件。我找不到太多关于如何链接库的参考资料。visual-studio
cl.exe
nmake
make
**NIX
makefile
include
object
输出
c++ - Windows 找不到 dll,甚至认为它在 PATH 中的目录中
我有一个名为 funner.cpp 的 cpp 文件,我使用以下命令将其编译为 dll 文件:(使用 microsofts CL 编译器,顺便说一句)
生成以下文件:funner.lib、funner.dll。
然后我创建了另一个名为 mainer.cpp 的 cpp 文件,它调用 dll 中的一个函数。
我使用以下命令编译了该文件:
然后,生成一个名为 mainer.exe 的可执行文件。
当我运行 mainer.exe 程序按预期运行时,我没有收到任何错误。(只要 funner.dll 文件在同一目录下即可)
但是我想将 funner.dll 移动到其他地方的另一个目录,比如:
所以我这样做了,然后我将文件夹添加到我的系统 PATH 变量中。
然后我尝试运行可执行文件,但它给我一个错误,说缺少 dll?
但是 Windows 不会在 PATH 变量中的所有目录中搜索 dll 吗?
为什么找不到我的dll?
visual-studio-2017 - Makefile + nmake + 从命令行将目标平台设置为 v140
Visual Studio 2017。我有一个脚本生成的生成文件。已安装所需的工具集。如何指示 nmake 为 v140 工具集而不是最新的工具集进行编译?