Unresolved externals in C++ when using vectors and find(使用向量和查找时 C++ 中未解决的外部问题)
问题描述
我已经在一个完全独立的项目中尝试了这段代码,它运行良好(唯一的区别是无法运行的项目被导出为 DLL).代码如下:
I have tried this code in a totally separate project, and it works fine (the only difference being that the project that is not working is being exported as a DLL). Here is the code:
RTATMTHLIB.CPP
#include "stdafx.h"
#include "RTATMATHLIB.h"
#include <math.h>
#include <vector>
#include <algorithm>
#include <stdexcept>
using namespace std;
double someFunc(double** Y, int length)
{
vector<double> myVector;
for(int i = 0; i < length; i++)
{
double value = (*Y)[i];
vector<double>::iterator it = find(myVector.begin(), myVector.end(), value);
if(it != myVector.end())
{
continue;
}
else
{
myVector.push_back(value);
}
}
return 0;
}
RTATMTHLIB.H
__declspec(dllexport) double someFunc(double** Y, int length);
错误
Error 1 error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: __thiscall std::_Vector_const_iterator<double,class std::allocator<double> >::_Vector_const_iterator<double,class std::allocator<double> >(double *,class std::_Container_base_secure const *)" (??0?$_Vector_const_iterator@NV?$allocator@N@@QAE@PANPBV_Container_base_secure@Z) RTATMATHLIB.obj RTATMATHLIB
Error 2 fatal error LNK1120: 1 unresolved externals
就是这样.我不知道为什么它在另一个项目而不是这个项目中工作......
And that's it. I am not sure why it works in the other project and not this one...
推荐答案
我发现另一个论坛帖子,似乎有人报告了与您遇到的完全相同的问题.请检查您是否有
I found another forum post, where somebody seems to have reported the same exact problem that you are having. Please check to see if you have
_DEBUG
在您的项目设置(在 C/C++ -- 预处理器下)或代码中的某处(或包含文件)中定义.
defined either in your project settings (under C/C++ -- Preprocessor) or somewhere in your code (or include files).
看起来 std::vector 认为您正在构建调试版本,而实际上您正在创建发布版本.
It looks as if std::vector thinks you are building a debug build, when you are in fact creating a release build.
我希望这会有所帮助.
这篇关于使用向量和查找时 C++ 中未解决的外部问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用向量和查找时 C++ 中未解决的外部问题
基础教程推荐
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01
- 设计字符串本地化的最佳方法 2022-01-01
- 运算符重载的基本规则和习语是什么? 2022-10-31
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01
- C++,'if' 表达式中的变量声明 2021-01-01