草庐IT

OBJ_FILES

全部标签

c++ - CMake 和 lcov : gcno files not found

我正在尝试获取基于CMake的项目(包含多个目标)的代码覆盖率。首先我生成gcno文件:lcov-b.-d.-ocoverage.output--capture--initial生成的*.gcnobuild_dir/[target_dir]/CMakeFiles/[target_dir].dir然后我运行生成*.gcna文件的测试build_dir/tests/CMakeFiles/[target_dir].dir当我再次运行lcov时:lcov-b.-d.-ocoverage.output--capture我收到以下错误:Scanning.for.gcdafiles...Found2

c++ - .lib 和 .obj 彼此之间以及我在 C++ 中的项目之间的关系是什么?

.lib和.obj文件如何相互关联?他们的目的是什么?.lib只是.obj文件的集合吗?如果是这样,那么.obj是否存储在.lib中,从而使.obj变得不必要? 最佳答案 通常,.obj文件指的是目标文件。这是已编译形式的源文件。例如,main.cpp和foo.cpp将生成main.obj和foo.obj。然后链接器将它们链接在一起,这样main.obj就可以访问foo.obj中定义的函数,反之亦然。链接器将输出你的二进制文件,即.lib(或.a,或.exe,或.dll``等).因此,从广义上讲,是的,二进制输出(在您的情况下为.l

c++ - 如何将 .obj 文件包含到项目中

我有以下问题:我被赋予了任务——构建一个应用程序。有一个现成的文件counter.h和一些其他文件-counter.obj。事实证明,在counter.h中只有函数声明-如何将.obj文件包含到.cpp文件中以便编译?我正在使用MicrosoftVisualStudio2010-文件本身应该放在哪个文件夹中? 最佳答案 将obj文件添加到解决方案中,就像您对cpp文件所做的那样(我通常通过拖放来完成此操作,即将文件从Windows资源管理器中拖放到项目中解决方案资源管理器窗口)。您可以将obj文件与cpp文件放在一起;这并不重要。

c++ - 在波前对象文件 (.obj) 中,我应该如何在 opengl 中渲染具有 4 个以上顶点的面?

所以使用Wavefrontobjectfile我应该如何在OpenGL中渲染具有4个以上顶点的面?我知道如果它有3个顶点我使用GL_TRIANGLES,如果它有4个我使用GL_QUADS,但如果它有5个或更多,我应该怎么办利用?有标准吗? 最佳答案 首先,您应该告诉任何导出工具不要导出具有那么多顶点的面。面应该有3个顶点,句点。如果您的导出工具无法做到这一点,那么您的加载工具应该将多边形分解为3个顶点面。我相当确定theAssetImporterlibrary可以做到这一点。 关于c++

c++ - 如何摆脱这个错误 : "MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup"

我正在帮助一位friend学习C++,但老实说,我们需要很大的帮助。为什么我们总是得到这个错误:“MSVCRTD.lib(crtexe.obj):errorLNK2019:unresolvedexternal符号main在函数__tmainCRTStartup中引用”代码如下://MariaDelgado(1013725)-Coursework2-ProgramConductingtimbercomponentstructuraldesign#include#include#include#include#includeusingnamespacestd;//VariablesforS

c++ - VS2008 : Can I build a project with 2 CPP files of the same name in different folders?

这是我的文件夹结构:/|--program.cpp--utility.h--utility.cpp|--module/|--utility.h--utility.cpp//NotethatIhavetwofilesnamedutility.handtwonamedutility.cpp在构建项目时,我收到链接错误(LNK2028:未解析的token等...),指出某些符号未定义。我已经确认所有符号都已定义,并且所有声明的函数都有相应的定义。我有一种感觉,在编译我的项目时,两个文件夹中的utility.cpp文件被编译到输出文件夹中的相同utility.obj中。结果,一个覆盖了另一个。

c++ - 当对象同时提供 `operator!` 和 `operator bool` 时,在表达式 `!obj` 中使用?

我遇到了一个我自己无法回答的问题。另外,我在谷歌和这里都没有找到这个问题的答案。比如说,我想在if子句中“检查对象的有效性”,如下所示:MyClassmyObject;//[somecode,ifany]if(!myObject){//[dosomething]}让MyClass定义如下:classMyClass{public:MyClass(){};virtual~MyClass(){};booloperator!(){return!myBool;};operatorbool(){returnmyBool;};private:boolmyBool=0;};我现在的问题是:这个if子句

c++ - 与 VS6 相比,VS2008 C++ 编译中的巨大 OBJ 文件

我们有一个大型项目,超过100万行代码包含大约300个DLL。到目前为止,我们一直在使用VS6。我现在已经将所有内容转换为VS2008,包括所有编译、链接以及更重要的-运行!==>但是...生成的编译OBJ文件大了10倍并且链接非常慢,链接器经常占用>1GB的内存。部分含义是我需要使用/bigobj编译某些项目。结果是从桌面上的大约1:45到3小时的构建。DLL和LIB的大小与旧VS6版本中的大小大致相同。我已经阅读了所有我能在这里找到的内容,但没有找到解决这个问题的方法。如果它是额外的DEBUG信息-我不想要它。我以前受够了。版本中的大小增加了,但没有那么多......有人知道吗?还

c++ - .obj 中已定义的函数

据我了解,此错误是由于当您有多个文件(包括同一文件)时未正确使用header保护引起的。在我的例子中,这是导致错误的包含树:文件A包含Z,里面有我需要的函数。文件B包含A,文件C包含A。在没有任何#pragmaonce的情况下,该程序会给出一堆相同错误的变体:blahblah.obj:errorLNK2005:classsome::namespace::ObjectTypeObjectalreadydefinedindialogDlg.obj我只是想知道,鉴于我描述的包含树,正确编译它的正确方法是什么?我尝试在文件Z上使用#pragmaonce,但这没有用。我还在文件A上尝试了#pra

c++ - 使用 OpenGL 渲染 3D 对象(.obj 文件)时闪烁

在尝试使用OpenGL(和GLFW库)渲染3D对象时,模型出现大量闪烁。我正在使用自己编写的库读取.obj文件。下面写的是我的渲染函数:不幸的是,为了了解面和顶点是如何输入的,我将不得不提供我所有的代码,链接如下:压缩代码以及可执行文件和示例.obj:Source我正在使用来自here的.obj文件来测试程序。现在,该程序不支持法线和纹理,这不是问题,因为网站上的大多数模型都没有它们。此外,(现在)它仅从“123.obj”读取,因此该文件不应命名为任何其他名称。而且它只接受一个空格,不能超过这个。floatrender(){glfwSetTime(0.0f);intwin_width;