标签: linker-errors

错误LNK2001和错误LNK2019(C++) - 请求了解这些错误

好吧,所以我刚刚完成了我的最后一次编译错误(所以我想)并且出现了这些错误:

1>GameEngine.obj : error LNK2001: unresolved external symbol "public: static double WeaponsDB::PI" (?PI@WeaponsDB@@2NA)
1>Component.obj : error LNK2001: unresolved external symbol "public: static double WeaponsDB::PI" (?PI@WeaponsDB@@2NA)
1>Coordinate.obj : error LNK2019: unresolved external symbol "public: static double WeaponsDB::PI" (?PI@WeaponsDB@@2NA) referenced in function "public: double __thiscall Coordinate::distanceFrom(class Coordinate *)" (?distanceFrom@Coordinate@@QAENPAV1@@Z)
1>Driver.obj : error LNK2001: unresolved external symbol "public: static double WeaponsDB::PI" (?PI@WeaponsDB@@2NA)
1>Environment.obj : error LNK2001: unresolved external symbol "public: static double WeaponsDB::PI" (?PI@WeaponsDB@@2NA)
1>Environment.obj : error LNK2001: unresolved external symbol "public: static …
Run Code Online (Sandbox Code Playgroud)

c++ linker-errors lnk2019

2
推荐指数
1
解决办法
2万
查看次数

Linker Hell中的C++新手

使用g ++并具有链接器错误.我有一个简单的程序分为两个模块:main.cpp和Dice.h Dice.cpp.

main.cpp中:

#include <iostream>
#include "Dice.h"

int main(int argc, char **argv) {

    int dieRoll = Dice::roll(6);
    std::cout<<dieRoll<<std::endl;

    std::cin.get();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Dice.h:

#ifndef DieH
#define DieH

namespace Dice
{
    int roll(unsigned int dieSize);
}

#endif
Run Code Online (Sandbox Code Playgroud)

Dice.cpp:

#include <ctime>
#include <cstdlib>
#include "Dice.h"

namespace Dice
{
    int roll(unsigned int dieSize)
    {
        if (dieSize == 0)
        {
            return 0;
        }
        srand((unsigned)time(0));
        int random_int = 0;
        random_int = rand()%dieSize+1;

        return random_int;
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用g ++编译和链接这些文件,如下所示:

g++ -o program main.cpp Dice.cpp
Run Code Online (Sandbox Code Playgroud)

我收到以下链接器错误: …

c++ g++ linker-errors

2
推荐指数
1
解决办法
1102
查看次数

链接在库中,包含对cuda内核的引用

我试图找出如何使用CUDA内核作为库的一部分,以便我可以将库添加到我现有的C++源文件,并能够使用cuda内核.

那么你怎么做呢?我尝试创建一个包装器,如下所示:

.h文件:

#ifndef __reductions2d_H_
#define __reductions2d_H_
#include <stdio.h>
#include <cuda.h>
#include <cuda_runtime.h>
extern "C" void getMean_wrapper();
#endif
Run Code Online (Sandbox Code Playgroud)

.CU

 __global__ void getMean(float *devDataPtr, size_t pitch, int rows, int cols)
       {
          for (int r = 0; r < height; ++r)
          { 
             float* row = (float*)((char*)devPtr + r * pitch);
             for (int c = 0; c < width; ++c)
             {
                printf("Row[%i][%i]: %4.3f \n",r,c row[c]);
             }
          }
       }


   void getMean_wrapper()
   {
   // Host code 
     int width = 3, height = 3;
     int N …
Run Code Online (Sandbox Code Playgroud)

c++ cuda g++ linker-errors

2
推荐指数
1
解决办法
1万
查看次数

未定义的引用C++

我有一个名为Student.h的文件,它以这种方式具有静态整数:

    class Student
{
public:
    static int _avrA,_avrB,_avrC,_avrD;
};
Run Code Online (Sandbox Code Playgroud)

我有继承Student.h的university.h.关于University.cpp的实现,其中一个函数返回:

return (_grade_average*(Student::_avrA/Student::_avrB))+7;
Run Code Online (Sandbox Code Playgroud)

并编译器写道:

对Student :: _ avrA的未定义引用.

你知道为什么会这样吗?

c++ linker-errors

2
推荐指数
1
解决办法
3284
查看次数

Apple Mach-O Linker(id)错误 - 困惑?

在我完成构建之前,我的项目没有错误.这是错误日志.

Ld "/Users/stephanieasan/Library/Developer/Xcode/DerivedData/WC_Class_Codes-fgxjeudpfimhnebtmvmxtzlirxnz/Build/Products/Debug-iphonesimulator/WC Class Codes.app/WC Class Codes" normal i386
cd "/Users/stephanieasan/Desktop/SDK Projects/WC Class Codes"
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/stephanieasan/Library/Developer/Xcode/DerivedData/WC_Class_Codes-fgxjeudpfimhnebtmvmxtzlirxnz/Build/Products/Debug-iphonesimulator -F/Users/stephanieasan/Library/Developer/Xcode/DerivedData/WC_Class_Codes-fgxjeudpfimhnebtmvmxtzlirxnz/Build/Products/Debug-iphonesimulator -filelist "/Users/stephanieasan/Library/Developer/Xcode/DerivedData/WC_Class_Codes-fgxjeudpfimhnebtmvmxtzlirxnz/Build/Intermediates/WC Class Codes.build/Debug-iphonesimulator/WC Class Codes.build/Objects-normal/i386/WC Class Codes.LinkFileList" -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=40000 -framework iAd -lsqlite3.0 -framework UIKit -framework Foundation -framework CoreGraphics -o "/Users/stephanieasan/Library/Developer/Xcode/DerivedData/WC_Class_Codes-fgxjeudpfimhnebtmvmxtzlirxnz/Build/Products/Debug-iphonesimulator/WC Class Codes.app/WC Class Codes"
Run Code Online (Sandbox Code Playgroud)

.

ld: duplicate symbol _OBJC_IVAR_$_ListTableViewController.DBPath in /Users/stephanieasan/Library/Developer/Xcode/DerivedData/WC_Class_Codes-fgxjeudpfimhnebtmvmxtzlirxnz/Build/Intermediates/WC Class Codes.build/Debug-iphonesimulator/WC Class Codes.build/Objects-normal/i386/Code.o and /Users/stephanieasan/Library/Developer/Xcode/DerivedData/WC_Class_Codes-fgxjeudpfimhnebtmvmxtzlirxnz/Build/Intermediates/WC Class Codes.build/Debug-iphonesimulator/WC Class Codes.build/Objects-normal/i386/ListTableViewController.o for architecture i386
Command …
Run Code Online (Sandbox Code Playgroud)

xcode mach-o objective-c linker-errors ios

2
推荐指数
1
解决办法
1万
查看次数

链接器错误 - 未定义参考

我有一个项目,当我构建这个其他项目时,它具有日志项目的依赖项,我得到以下链接器错误:

日志项目很好地构建,但是当我使用此项目中的日志项目作为链接器选项中的库时,它会生成以下错误,在我的日志记录项目中,我确实有一个logger.cpp,其中定义了wxRegKey.

../logging/dist/Debug/MinGW_1-Windows/liblogging.a(Logger.o): In function `ZN7Logging6Logger17CreateRegistryKeyEv':
c:\logging/impl/Logger.cpp:125: undefined reference to `_imp___ZN8wxRegKeyC1ENS_6StdKeyERK8wxString'
c:\logging/impl/Logger.cpp:127: undefined reference to `_imp___ZN8wxRegKeyC1ENS_6StdKeyERK8wxString'
c:\logging/impl/Logger.cpp:129: undefined reference to `_imp___ZNK8wxRegKey6ExistsEv'
c:\logging/impl/Logger.cpp:135: undefined reference to `_imp___ZN8wxRegKeyD1Ev'
c:\logging/impl/Logger.cpp:140: undefined reference to `_imp___ZN8wxRegKeyC1ENS_6StdKeyERK8wxString'
c:\logging/impl/Logger.cpp:142: undefined reference to `_imp___ZNK8wxRegKey6ExistsEv'
c:\logging/impl/Logger.cpp:143: undefined reference to `_imp___ZN8wxRegKey6CreateEb'
c:\logging/impl/Logger.cpp:149: undefined reference to `_imp___ZNK8wxRegKey6ExistsEv'
c:\logging/impl/Logger.cpp:152: undefined reference to `_imp___ZN8wxRegKeyD1Ev'
c:\logging/impl/Logger.cpp:155: undefined reference to `_imp___ZN8wxRegKeyC1ENS_6StdKeyERK8wxString'
c:\logging/impl/Logger.cpp:156: undefined reference to `_imp___ZNK8wxRegKey6ExistsEv'
c:\logging/impl/Logger.cpp:157: undefined reference to `_imp___ZN8wxRegKey6CreateEb'
../logging/dist/Debug/MinGW_1-Windows/liblogging.a(Logger.o): In function 
`ZN7Logging6Logger13GetLoggStatusEv':
c:\logging/impl/Logger.cpp:169: undefined reference to     
`_imp___ZNK8wxRegKey8HasValueEPKc'
c:\logging/impl/Logger.cpp:170: undefined reference to 
`_imp___ZNK8wxRegKey10QueryValueEPKcPl' …
Run Code Online (Sandbox Code Playgroud)

c++ linker linker-errors netbeans-7.1

2
推荐指数
1
解决办法
3万
查看次数

如何在同一解决方案中声明一个对象并从另一个Project中定义的类调用其方法?

我正在尝试使用Microsoft CppUnitTestFramework.我在一个解决方案中有两个独立的项目,一个是实际代码,另一个是单元测试代码.现在我想测试第一个项目中定义的"DijkstarImpl"类,并在项目Properties-> C++ - > General-> AdditionalInclude目录中添加了此类的路径.测试项目编译成功,但是当我运行测试时,我收到此错误:

错误2错误LNK2001:未解析的外部符号"public:static class DijkstarImpl*UnitTest_FasTrack :: UnitTest1 :: dijkstarImpl"(?dijkstarImpl @ UnitTest1 @ UnitTest_FasTrack @@ 2PAVDijkstarImpl @@ A)C:\ working\TestFastTrack\UnitTest_FasTrack\unittest1.obj

错误3错误LNK2001:未解析的外部符号"public:__thiscall DijkstarImpl :: DijkstarImpl(void)"(?? 0DijkstarImpl @@ QAE @ XZ)C:\ working\TestFastTrack\UnitTest_FasTrack\unittest1.obj

错误是链接器错误,但我不知道应该链接什么?它不是要包含在Properties-> Linker-> Input中的lib文件.以下代码段显示了单元测试代码.

#include "stdafx.h"
#include "CppUnitTest.h"
#include "DijkstarImpl.h"
#include "string.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest_FasTrack
{       
TEST_CLASS(UnitTest1)
{
    static DijkstarImpl*  dijkstarImpl;

public:
    TEST_CLASS_INITIALIZE(Initialize) 
    {           

        static DijkstarImpl*  UnitTest_FasTrack::UnitTest1::dijkstarImpl;
    }

    TEST_METHOD(TestMethod1)
    {



    }

};
}
Run Code Online (Sandbox Code Playgroud)

linker-errors unresolved-external visual-c++

2
推荐指数
1
解决办法
639
查看次数

GooglePlus与CocoaPods链接错误

我添加到我的pod文件中

pod 'google-plus-ios-sdk', '1.4.1'
Run Code Online (Sandbox Code Playgroud)

我做了一个

pod update
Run Code Online (Sandbox Code Playgroud)

我进口了

#import <GooglePlus/GooglePlus.h>
Run Code Online (Sandbox Code Playgroud)

但如果我尝试

[GPPSignIn sharedInstance].clientID = kClientID; 
Run Code Online (Sandbox Code Playgroud)

我从链接器收到此错误:

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_GPPSignIn", referenced from:
      objc-class-ref in SDSocialManager.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

linker-errors ios google-plus cocoapods

2
推荐指数
1
解决办法
2660
查看次数

找不到框架吊舱

我知道这是一个老问题。但是我以一种非常奇怪的方式产生了这个问题。实际上,我已经开发了一个安装了pod的应用程序,并且Deployment Target中的所有内容都为11.2。我为此添加了一个.ipa并将其发送给客户端进行测试。但是客户端无法安装,因为iPad Mini 1没有iOS 10或更高版本。因此,我将部署目标降低到客户端拥有的iPad Mini1的当前iOS版本9.3。在获取档案时,Xcode会产生如下错误: 在此处输入图片说明

有什么问题??我们需要取消Pod的安装并重新安装,还是只修改现有的Pod文件?请帮忙。

linker-errors ios cocoapods swift xcode9.2

2
推荐指数
2
解决办法
1704
查看次数

关于工作C++ 03代码的G ++(C++ 14)链接器错误

考虑以下代码.

class aClass
{
public:
    static const int HALLO = -3;
};

int main()
{
  std::vector<double > a;
  std::vector<int> b;
  std::vector<int> c;
  int d = aClass::HALLO; //fine
  a.resize(10,aClass::HALLO); //fine
  b.resize(10,aClass::HALLO); // linker error c++11 and c++14
  c.resize(10,(int)(double)aClass::HALLO); //fine
  std::cout<<a[0]<<endl;
  std::cout<<b[0]<<endl;
  std::cout<<c[0]<<endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译与C++ 03一起使用并产生输出:

-3
-3
-3
Run Code Online (Sandbox Code Playgroud)

但是,使用C++ 11或C++ 14进行编译会导致链接器错误:

/tmp/cc3BARzY.o: In Funktion `main':
main.cpp:(.text+0x66): Nicht definierter Verweis auf `aClass::HALLO'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这只发生在矢量上b.如果有一个强制转换为double(a)或甚至是double并返回到int(c),则代码按预期运行.

如何解释这种行为?

c++ static g++ linker-errors

2
推荐指数
1
解决办法
157
查看次数