I was writing a C++ program in visual studio 2013 and the
program is very simple one and when I compile there was error
this is third time I see this error.
Here’s the program:
#include <iostream>
using namespace std;
int main()
{
int x, y, z = 0;
char c;
bool quit = true;
while (quit == true)
{
cout << "enter a number : ";
cin >> x;
cout << "enter a sign : ";
cin >> c;
cout << "enter another number : ";
cin >> y;
if (c == '+')
z = x + y;
if (c == '-')
z = x - y;
if (c == '*')
z = x * y;
if (c == '/' && y != 0)
z = x / y;
if (c == 'q')
quit = false;
cout << "Answer is : " << z << endl;
}
return 0;
}
…and here’s the error:
1>------ Build started: Project: Calculator_madeByMe, Configuration: Debug Win32 ------
1> Source.cpp
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>C:UsersSorenadocumentsvisual studio 2013ProjectsCalculator_madeByMeDebugCalculator_madeByMe.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========>
Jerry Coffin
472k80 gold badges621 silver badges1107 bronze badges
asked May 23, 2014 at 23:13
2
Your compiling as a Windows application, which does not use the «int main()» signature when calling the entry point.
Switch to a console application in Project -> Properties -> Linker -> System -> SubSystem -> Console. There might be more involved than just this setting, so if it still doesn’t compile, remake your project and make sure to choose Console Application.
answered May 23, 2014 at 23:19
mukundamukunda
2,89915 silver badges20 bronze badges
Дан код GitHub
При попытке компиляции выдает это
1>------ Build started: Project: SimpleLang, Configuration: Debug Win32 ------
1> Parser.cpp
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>C:UsersDanielDocumentsGitHubSimpleLangDebugSimpleLang.exe : fatal error LNK1120: 1 unresolved externals
2>------ Build started: Project: Tests, Configuration: Debug Win32 ------
2> Parser_GetType.cpp
2>Parser_GetType.obj : error LNK2019: unresolved external symbol "public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Parser::GetType(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?GetType@Parser@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z) referenced in function "private: virtual void __thiscall ParserTest_identifer_Test::TestBody(void)" (?TestBody@ParserTest_identifer_Test@@EAEXXZ)
2>C:UsersDanielDocumentsGitHubSimpleLangDebugTests.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 2 failed, 1 up-to-date, 0 skipped ==========
В VS 2013 я объявил функцию в заголовочном файле с именем «util_serial.h» и определил ее в файле cpp с именем «util_serial.cpp», например:
util_serial.h:
#ifndef _UTIL_SERIAL_H_
#define _UTIL_SERIAL_H_
template<typename T> inline std::vector<T> slice_vec(std::vector<T>& vec, int _begin, int len);
#endif
util_serial.cpp:
#include "util_serial.h"
using namespace std;
template<typename T> inline std::vector<T> slice_vec(vector<T>& vec, int _begin, int len) {
if (_begin < 0) {
_begin = 0;
}
if (vec.size() < _begin) {
vector<T> v;
printf("slicing out of the vector rangen");
return v;
}
if (vec.size() < _begin + len) {
vector<T> v(vec.begin() + _begin, vec.end());
return v;
}
else {
vector<T> v(vec.begin() + _begin, vec.begin() + _begin + len);
return v;
}
}
Затем я вызываю эту функцию в main function в другом файле cpp:
#include "util_serial.h"
using namespace std;
void main() {
vector<int> v3(4, 8);
vector<int> v4;
v4 = slice_vec(v3, 0, 2);
for (unsigned int i = 0; i < v4.size(); i++) {
cout << v4[i] << endl;
}
}
И тогда произошла ошибка ССЫЛКИ:
Но когда я определил эту функцию в файле util_serial.h сразу после объявления, эта ошибка исчезла.
Это то, что я делал, объявляя функцию в заголовочном файле и помещая ее определение в другой файл cpp, и это всегда работает. Но почему на этот раз это не так?
0
Решение
Вот как работают шаблоны. Если вы не поместите функцию шаблона в файл заголовка, вам нужно явно создать экземпляр функции для нужного вам типа (типов).
template std::vector<int> slice_vec<int>(std::vector<int>& vec, int _begin, int len);
Смотрите также Как явно создать экземпляр функции-шаблона?.
1
Другие решения
Других решений пока нет …
Программа иллюстрирующая работу бинарных операторов
C++ | ||
|
Ошибка
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
1>C:UsersФедяDesktopStudyБитовые_операцииDeb ugБитовые_операции.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Подскажите, пожалуйста, в чем дело и как исправить?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
What is causing this error? I google’d it and first few solutions I found were that something was wrong with the library and the main function but both seem to be fine in my problem, I even retyped both! What could be causing this?
This might be helpful:
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol WinMain@16 referenced in function __tmainCRTStartup
#include <iostream>
using namespace std;
int main()
{
const double A = 15.0,
B = 12.0,
C = 9.0;
double aTotal, bTotal, cTotal, total;
int numSold;
cout << "Enter The Number of Class A Tickets Sold: ";
cin >> numSold;
aTotal = numSold * A;
cout << "Enter The Number of Class B Tickets Sold: ";
cin >> numSold;
bTotal = numSold * B;
cout << "Enter The Number of Class C Tickets Sold: ";
cin >> numSold;
cTotal = numSold * C;
total = aTotal + bTotal + cTotal;
cout << "Income Generated" << endl;
cout << "From Class A Seats $" << aTotal << endl;
cout << "From Class B Seats $" << bTotal << endl;
cout << "From Class C Seats $" << cTotal << endl;
cout << "-----------------------" << endl;
cout << "Total Income: " << total << endl;
return 0;
}
asked Sep 14, 2011 at 2:58
Howdy_McGeeHowdy_McGee
10.3k29 gold badges109 silver badges185 bronze badges
3
From msdn
When you created the project, you made the wrong choice of application
type. When asked whether your project was a console application or a
windows application or a DLL or a static library, you made the wrong
chose windows application (wrong choice).Go back, start over again, go to File -> New -> Project -> Win32
Console Application -> name your app -> click next -> click
application settings.For the application type, make sure Console Application is selected
(this step is the vital step).The main for a windows application is called WinMain, for a DLL is
called DllMain, for a .NET application is called
Main(cli::array ^), and a static library doesn’t have a
main. Only in a console app is main called main
answered Sep 14, 2011 at 3:06
DrahakarDrahakar
5,9366 gold badges42 silver badges58 bronze badges
1
I incurred this error once.
It turns out I had named my program ProgramMame.ccp instead of ProgramName.cpp
easy to do …
Hope this may help
answered Oct 25, 2012 at 15:58
Bob in SCBob in SC
1411 silver badge2 bronze badges
My problem was
int Main()
instead of
int main()
good luck
answered Nov 21, 2012 at 13:19
MahikaMahika
6622 gold badges11 silver badges21 bronze badges
Well it seems that you are missing a reference to some library. I had the similar error solved it by adding a reference to the #pragma comment(lib, «windowscodecs.lib»)
answered Apr 25, 2015 at 10:18
G droidG droid
9565 gold badges13 silver badges36 bronze badges
In my case, the argument type was different in the header file and .cpp file. In the header file the type was std::wstring
and in the .cpp file it was LPCWSTR
.
Dharman♦
29.2k21 gold badges79 silver badges131 bronze badges
answered Sep 23, 2020 at 11:18
Vasantha GaneshVasantha Ganesh
4,3803 gold badges23 silver badges33 bronze badges
You must reference it. To do this, open the shortcut menu for the project in Solution Explorer, and then choose References. In the Property Pages dialog box, expand the Common Properties node, select Framework and References, and then choose the Add New Reference button.
answered Jul 5, 2016 at 10:06
Amir TouitouAmir Touitou
2,9911 gold badge34 silver badges31 bronze badges
I have faced this particular error when I didn’t defined the main() function. Check if the main() function exists or check the name of the function letter by letter as Timothy described above or check if the file where the main function is located is included to your project.
answered Sep 21, 2016 at 9:02
funkfunk
2,1111 gold badge22 silver badges22 bronze badges
1
In my particular case, this error error was happening because the file which I’ve added wasn’t referenced at .vcproj
file.
answered Nov 19, 2019 at 16:32
dbzdbz
3817 silver badges22 bronze badges
In my case I got this error when I had declared a function under ‘public’ access specifier. Issue got resolved when I declared that function as private.
answered Mar 11, 2021 at 18:12
I have encountered the same error. For me it turned out to be because I tried to implement an inline function in the .cpp file, instead of putting it in the header file, where the definition is. Therefore when I tried to include the header file and use the function, I got this error.
answered Nov 25, 2021 at 22:56
My case: I defined a prototype of the class de-constructor, but forgot to define the body.
class SomeClass {
~SomeClass(); //error
};
class SomeClass {
~SomeClass(){}; //no error
}
answered Jul 9, 2022 at 4:23
In my case I had forgotten to add the main() function altogether.
answered Jul 29, 2022 at 5:34
Я получаю эти две ошибки, и я не могу найти решение, которое работает.
LNK1120: 1 неразрешенное внешнее
Ошибка 1 ошибка LNK2019: неразрешенный внешний символ «public: __thiscall Vector3D :: Vector3D (класс Vector3D const &) «(?? 0Vector3D @@ QAE @ ABV0 @@ Z) ссылка на функцию» public: класс Vector3D __thiscall Vertex :: GetPosition (void) «(? GetPosition @ Vertex @@ QAE? AVVector3D @@ XZ)
Я думаю, что это связано с моим оператором Matrix и конструктором в моем классе Vector 3d
Любая помощь будет высоко ценится, так как я новичок в C ++
#ifndef MATRIX4_H
#define MATRIX4_H
#include "Vector3D.h"
class Matrix4
{
public:
Matrix4();
Matrix4(const Matrix4& rhs);
~Matrix4();
Vector3D Matrix4::operator *(Vector3D vector)
{
Vector3D newVector;
newVector.SetVector_X((m[0][0] * vector.GetVector_X()) + (m[0][1] * vector.GetVector_Y()) + (m[0][2] * vector.GetVector_Z()) + m[0][3]);
newVector.SetVector_Y((m[0][0] * vector.GetVector_X()) + (m[1][1] * vector.GetVector_Y()) + (m[1][2] * vector.GetVector_Z()) + m[1][3]);
newVector.SetVector_Z((m[0][0] * vector.GetVector_X()) + (m[2][1] * vector.GetVector_Y()) + (m[2][2] * vector.GetVector_Z()) + m[2][3]);
return Vector3D(newVector.GetVector_X(),newVector.GetVector_Y(),newVector.GetVector_Z());
}
void SetMatrix(float matrix[4][4])
{
memcpy(m,matrix,sizeof(matrix));
}
private:
float m[4][4];
};
#endif
Файл Vector3D.h
#ifndef VECTOR3D_H
#define VECTOR3D_H
class Vector3D
{
public:
Vector3D();
Vector3D(const Vector3D& rhs);
~Vector3D();
Vector3D(float VectorX, float VectorY, float VectorZ)
{
x=VectorX;
y=VectorY;
z=VectorZ;
}
void SetVector3D(float vector_X, float vector_Y, float vector_Z)
{
x = vector_X;
y = vector_Y;
z = vector_Z;
}
void SetVector_X(float vector_X)
{
x=vector_X;
}
void SetVector_Y(float vector_Y)
{
y=vector_Y;
}
void SetVector_Z(float vector_Z)
{
z=vector_Z;
}
float GetVector_X()
{
return x;
}
float GetVector_Y()
{
return y;
}
float GetVector_Z()
{
return z;
}
Vector3D GetVector()
{
return Vector3D(x,y,z);
}
private:
float x;
float y;
float z;
};
#endif
1
Решение
Это говорит о том, что компоновщик не может найти реализацию Vector3D(const Vector3D& rhs);
, Этот конструктор объявлен в вашем векторном классе, но не определен.
У вас есть реализация конструктора где-то в .cpp
файл, а этот файл известен вашему компилятору?
Компиляция C / C ++ работает так: сначала у вас есть несколько так называемых «модулей компиляции» — обычно каждый .cpp
-file является одним из таких модулей компиляции. Ваша программа состоит из всех этих отдельных модулей, связанных друг с другом (процесс «связывания» происходит после компиляции). Каждая функция, которая вызывается где-то, должна быть определена ровно один раз в некотором модуле компиляции, если он не определен встроенным (как другие методы вашего класса). Если метод объявлен, но не определен, компилятор не будет жаловаться — только компоновщик. Представьте себе блоки компиляции, имеющие «розетки» и «соединители», которые соответствуют соответствующим «розеткам» других блоков. Процесс компиляции просто создает эти модули, принимая определенную форму «сокета» (как указано в объявлениях), тогда как компоновщик фактически пытается соединить каждый «сокет» с его «соединителем». Итак, вы видите, как процесс компиляции может быть успешным, но ссылки нет.
Ошибки компоновщика могут быть сложно решить, особенно если вы еще не так опытны. Там может быть много причин для них:
- Отсутствует реализация / определение
- Определение существует, но почему-то не компилируется (потому что файл не передается компилятору и т. Д.)
- Различные версии библиотек и т. Д.
И многое другое ..
Редактировать: Кроме того, вы должны передать вектор по константной ссылке и создать newVector, вызвав его конструктор, вместо создания объекта по умолчанию и последующего присвоения. И окончательное строительство в return statement
тоже не нужен. Улучшенный код:
Vector3D Matrix4::operator *(const Vector3D& vector)
{
return Vector3D(
(m[0][0] * vector.GetVector_X()) + (m[0][1] * vector.GetVector_Y()) + (m[0][2] * vector.GetVector_Z()) + m[0][3],
(m[0][0] * vector.GetVector_X()) + (m[1][1] * vector.GetVector_Y()) + (m[1][2] * vector.GetVector_Z()) + m[1][3],
(m[0][0] * vector.GetVector_X()) + (m[2][1] * vector.GetVector_Y()) + (m[2][2] * vector.GetVector_Z()) + m[2][3]
);
}
5
Другие решения
Ваша реализация Vector3D
кажется, что отсутствует фактическая реализация для конструктора копирования, следовательно, неразрешенная внешняя ошибка. Если вы не собираетесь копировать объект Vector3D, вы не сможете передать его в Matrix::operator*
по значению, что бы вызвать копию.
Тем не менее, я не думаю, что есть какие-либо причины объявлять и реализовывать конструктор копирования для Vector3D
в любом случае, поскольку он содержит только POD-типы, и сгенерированный компилятором конструктор копирования будет работать нормально. То же самое относится и к деструктору, ресурсы для управления отсутствуют, поэтому пусть компилятор выполняет свою работу.
2
Вы реализовали Vector3D
конструктор по умолчанию, конструктор копирования и деструктор? Вы показали свои заголовки, но не файлы реализации. Линкер жалуется на отсутствие определения Vector3D::Vector3D(Vector3D const&)
,
1
- Remove From My Forums
-
Question
-
Hi, I am building a dll & in the the DllMain() function i am trying to instantiate a class. The dll builds and runs fine (from client programs) when built through Visual Studio IDE.
But surprisingly, i get a linker error when i build the same through cmd line options ..( & using .mak file)
following is the error message:-
dllmain.obj : error LNK2001: unresolved external symbol «public: __thiscall IfxLashmDllMgrDbg::IfxLashmDllM
grDbg(struct HINSTANCE__ *)» (??0IfxLashmDllMgrDbg@@QAE@PAUHINSTANCE__@@@Z)
.bin/Releaselashm.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: ‘link.exe’ : return code ‘0x460’
Stop.
error: nmake lashm failedHere is dllmain code fragment:-
//——
BOOL APIENTRY
DllMain( HINSTANCE hDll
, DWORD fdwReason
, LPVOID lpvReserved )
//——
{
switch ( fdwReason )
{
case DLL_PROCESS_ATTACH:
//———————-
{
#if IFX_LASHMDLL_TRACE_IF==1
if ( !IfxLashmDllMgrDbg::createInstance( hDll ) )
#else
if ( !IfxLashmDllMgr::createInstance( hDll ) )
#endif
{
return FALSE;
}}}
Any help would be much appreciated. Thank you !
Answers
-
Well, unresolved externals are always down to the linker not being able to find something. In this case it is the class member IfxLashmDllMgrDbg::createInstance. Since it builds from the inside the IDE then this is really just a simple case of you forgetting to give the linker something.
Is IfxLashmDllMgrDbg and IfxLashmDllMgr actually written by you and part of the project or is it a third party library. If it is part of your project then look at your source and object lists to make sure you are compiling the source file and actually passing the object to the linker as linker input. If it is part of a third party library then look at the linker libraries to make sure it is getting linked to the project.
One thing which has caught my eye that made me wonder, is IfxLashmDllMgrDbg part of the release build of the project? The error message is saying that it can’t find createInstance from IfxLashmDllMgrDbg, I know this is your build and everything, but are you actually trying to use the Dbg version of this in the release build for a reason? If not maybe you should check the compiler command line to see if IFX_LASHMDLL_TRACE_IF has been defined as 1?
Visit my (not very good) blog at http://c2kblog.blogspot.com/
- Marked as answer by
Monday, April 19, 2010 9:34 AM
- Marked as answer by
- Remove From My Forums
-
Question
-
Hi, I am building a dll & in the the DllMain() function i am trying to instantiate a class. The dll builds and runs fine (from client programs) when built through Visual Studio IDE.
But surprisingly, i get a linker error when i build the same through cmd line options ..( & using .mak file)
following is the error message:-
dllmain.obj : error LNK2001: unresolved external symbol «public: __thiscall IfxLashmDllMgrDbg::IfxLashmDllM
grDbg(struct HINSTANCE__ *)» (??0IfxLashmDllMgrDbg@@QAE@PAUHINSTANCE__@@@Z)
.bin/Releaselashm.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: ‘link.exe’ : return code ‘0x460’
Stop.
error: nmake lashm failedHere is dllmain code fragment:-
//——
BOOL APIENTRY
DllMain( HINSTANCE hDll
, DWORD fdwReason
, LPVOID lpvReserved )
//——
{
switch ( fdwReason )
{
case DLL_PROCESS_ATTACH:
//———————-
{
#if IFX_LASHMDLL_TRACE_IF==1
if ( !IfxLashmDllMgrDbg::createInstance( hDll ) )
#else
if ( !IfxLashmDllMgr::createInstance( hDll ) )
#endif
{
return FALSE;
}}}
Any help would be much appreciated. Thank you !
Answers
-
Well, unresolved externals are always down to the linker not being able to find something. In this case it is the class member IfxLashmDllMgrDbg::createInstance. Since it builds from the inside the IDE then this is really just a simple case of you forgetting to give the linker something.
Is IfxLashmDllMgrDbg and IfxLashmDllMgr actually written by you and part of the project or is it a third party library. If it is part of your project then look at your source and object lists to make sure you are compiling the source file and actually passing the object to the linker as linker input. If it is part of a third party library then look at the linker libraries to make sure it is getting linked to the project.
One thing which has caught my eye that made me wonder, is IfxLashmDllMgrDbg part of the release build of the project? The error message is saying that it can’t find createInstance from IfxLashmDllMgrDbg, I know this is your build and everything, but are you actually trying to use the Dbg version of this in the release build for a reason? If not maybe you should check the compiler command line to see if IFX_LASHMDLL_TRACE_IF has been defined as 1?
Visit my (not very good) blog at http://c2kblog.blogspot.com/
- Marked as answer by
Monday, April 19, 2010 9:34 AM
- Marked as answer by
На чтение 3 мин. Просмотров 75 Опубликовано 15.12.2019
число неразрешенных внешних идентификаторов number unresolved externals
Error LNK1120 сообщает количество неразрешенных ошибок внешних символов в текущей ссылке. Error LNK1120 reports the number of unresolved external symbol errors in the current link.
Каждый неразрешенный внешний символ сначала получает сообщение об ошибке LNK2001 или LNK2019 . Each unresolved external symbol first gets reported by a LNK2001 or LNK2019 error. Сообщение LNK1120 поступает последним и показывает количество ошибок неразрешенного символа. The LNK1120 message comes last, and shows the unresolved symbol error count.
Устранить эту ошибку не нужно. You don’t need to fix this error. Эта ошибка исчезает, когда вы исправляете все ошибки компоновщика LNK2001 и LNK2019 до того, как они попадают в выходные данные сборки. This error goes away when you correct all of the LNK2001 and LNK2019 linker errors before it in the build output. Всегда устранять проблемы, начиная с первой ошибки, о которой сообщается. Always fix issues starting at the first reported error. Более поздние ошибки могут быть вызваны более ранними версиями и исчезнуть при исправлении предыдущих ошибок. Later errors may be caused by earlier ones, and go away when the earlier errors are fixed.
При компиляции программы ошибок не вылетает. значит в коде ошибок нет. Но при попытке создания экзешника студия показывает 2 ошибки:
1. error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
2. fatal error LNK1120: 1 unresolved externals
При работе с кодом на другой машине, нареканий у программы не возникает.
Напишите, пожалуйста, что необходимо сделать чтобы студия работала нормально (поподробнее для чайника) . И если нетрудно, опишите причины возникновения ошибок.
What is causing this error? I google’d it and first few solutions I found were that something was wrong with the library and the main function but both seem to be fine in my problem, I even retyped both! What could be causing this?
This might be helpful:
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol WinMain@16 referenced in function __tmainCRTStartup
7 Answers 7
When you created the project, you made the wrong choice of application type. When asked whether your project was a console application or a windows application or a DLL or a static library, you made the wrong chose windows application (wrong choice).
Go back, start over again, go to File -> New -> Project -> Win32 Console Application -> name your app -> click next -> click application settings.
For the application type, make sure Console Application is selected (this step is the vital step).
The main for a windows application is called WinMain, for a DLL is called DllMain, for a .NET application is called Main(cli::array ^), and a static library doesn’t have a main. Only in a console app is main called main
- Remove From My Forums
-
Вопрос
-
пытаюсь создать DLL, два файла MyLib.cpp
void __fastcall Delete(void *param) {}
и файл main.def с содержимым
LIBRARY MyLib EXPORTS Delete;
При компиляции с параметром /MD никаких ошибок не возникает.
При компиляции с параметром /MT выдает ошибки:
Ошибка 4
error LNK2001: неразрешенный внешний символ «Delete»
Ошибка 5
error LNK1120: неразрешенных внешних элементов: 1
При этом, если изменить Delete на Delete2, никаких ошибок не возникает.
как это исправить?
Ответы
-
Экспорт идентификаторов из DLL может быть выполнен двумя способами: через файл определения модуля (DEF) и модификаторами __declspec(dllexport). Второй способ более гибкий, т.к. имя функции «декорируется»,
т.е. добавляется информация о классе, пространстве имен и проч. Однако затрудняет явный поиск имени в разделе экспорта (т.к. только компилятор знает, какое имя в результате получится).При использовании DEF-файла в раздел экспорта попадает лишь имя функции (без искажений), поэтому такое имя должно быть уникальным по всей DLL.
Можно сделать так: уберите из проекта DEF-файл, а определение функции перепишите в таком виде:
extern "C" __declspec(dllexport) void Delete(void *param) { }
Т.е. функция должна вызываться по соглашению __cdecl, а extern «C» выключит декорирование ее имени.
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
- Помечено в качестве ответа
15 февраля 2015 г. 17:05
- Помечено в качестве ответа
Cannot build on Windows.
error: linking with `link.exe` failed: exit code: 1120
|
= note: "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.21.27702\bin\HostX64\x64\link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\sofe\.rustup\toolchains\ni
ghtly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.134iy0c6zq26kjou.rcgu.o" "C:\Users\sofe\proj\target\debug\dep
s\corners-2030c318b4febc3b.168kl8c6ei3wve26.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.1bh8oknxiyksiw85.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b
4febc3b.1c3q7nh0ws8sfr2y.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.1i6ij5hbbpvlg286.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.1io32xyzkwxk
6vkm.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.1xqfhht1pj202gq6.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.1znnw4uhbuo1axpp.rcgu.o" "C:\Us
ers\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.1zydia95k6scqafa.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.22kg901tcp51jz3j.rcgu.o" "C:\Users\sofe\proj\tar
get\debug\deps\corners-2030c318b4febc3b.2qib053azebr9736.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.317hz9aa926f05uf.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\co
rners-2030c318b4febc3b.3gvqsl8atvsg8e4u.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.3sb3url5vdx18t4g.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc
3b.3x19ws3vo39rsmny.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.42jxb5ofik2uklvg.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.4s2cck8xv6zdjb0m.
rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.4tifehtvsvx1hfwg.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.50q8797l7dxl31jf.rcgu.o" "C:\Users\
sofe\proj\target\debug\deps\corners-2030c318b4febc3b.5cflx2s5dewykbxm.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.9z210iau9015v1a.rcgu.o" "C:\Users\sofe\proj\target\d
ebug\deps\corners-2030c318b4febc3b.l5ouwsfthv00rza.rcgu.o" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.qvdwbbuus3vnm2h.rcgu.o" "/OUT:C:\Users\sofe\proj\target\debug\deps\corne
rs-2030c318b4febc3b.exe" "C:\Users\sofe\proj\target\debug\deps\corners-2030c318b4febc3b.3h8frzixmf9yd0b8.rcgu.o" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc
-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\sofe\.rustup\toolchai
ns\nightly-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\sofe\proj\target\debug\deps" "/LIBPATH:C:\Users\sofe\proj\target\debug\build\runas-946a89f5916413d2\out" "
/LIBPATH:C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\sofe\proj\target\debug\deps\librunas-80abd6c58909118d.rlib" "C:\Users
sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b9ccf3626f49ae3e.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\r
ustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-4d40c947f37bbfb9.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-493894a
4ecd09b40.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-bfac7c033d0fc9d5.rlib" "C:\Users\sofe\.rustup\toolchains\
nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-ce6478485fb5ace1.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-wind
ows-msvc\lib\librustc_std_workspace_alloc-02e23ed5a719247d.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-849df5a9240a3331.rl
ib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-e732b654ca2c014d.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-wi
ndows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-77ebef24005db2ee.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-d
1cd38312c133002.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-17cfe3fe7454f87b.rlib" "C:\Users\sofe\.rust
up\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-a59de2b3194e147b.rlib" "C:\Users\sofe\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86
_64-pc-windows-msvc\lib\libcompiler_builtins-9d9cbd4f8ba0b816.rlib" "ole32.lib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: librunas-80abd6c58909118d.rlib(runas-windows.o) : error LNK2019: unresolved external symbol __imp_ShellExecuteExW referenced in function rust_win_runas
C:Userssofeprojtargetdebugdepscorners-2030c318b4febc3b.exe : fatal error LNK1120: 1 unresolved externals