У меня есть n количество файлов cpp в проекте. «A» - это исходный файл, который будет иметь основную функцию, «B» - это еще один исходный файл, который содержит определение функции, которое будет использоваться 'A'.исходные файлы исходных файлов visual studio
a.cpp #include "stdafx.h" #include "b.h" int main() { add(5,4); return 0; }
Bh
#include "stdafx.h" void add(int a ,int b);
B.cpp
#include "stdafx.h" void add(int a,int b) { cout<<(a+b); }
но порядок сборки, как a.cpp после b.cpp так добавление функции должно быть неразрешено компоновщиком. Как я могу решить проблему с порядком сборки?
Edit 1: мой журнал файл сборки: -
Сложение начал 22-11-2014 15:57:11. 1> Проект «C: \ Users \ Admin \ Documents \ Visual Studio 2013 \ Projects \ ConsoleApplication2 \ ConsoleApplication2 \ ConsoleApplication2.vcxproj" на узле 2 (Build target (s)). 1> Ссылка: C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \ link.exe/ERRORREPORT: PROMPT/OUT: "C: \ Users \ Admin \ Documents \ Visual Studio 2013 \ Projects \ ConsoleApplication2 \ Release \ ConsoleApplication2.exe "/ INCREMENTAL: NO/NOLOGO/LIBPATH: D: \ Glut/LIBPATH: D: \ OpenCV \ opencv \ build \ x86 \ vc11 \ lib opencv_core246.lib opencv_features2d246.lib opencv_haartraining_engine.lib opencv_calib3d246.lib opencv_highgui246.lib opencv_imgproc246.lib opencv_legacy246.lib opencv_ml246.lib opencv_objdetect246.lib opencv_video246.lib glut32.lib asmlibrary.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32. lib uuid.lib odbc32.lib odbccp32.lib/MANIFEST/MANIFESTUAC: "level = 'asInvoker' uiAccess = 'false'"/manifest: embed/DEBUG/PDB: "C: \ Users \ Admin \ Documents \ Visual Studio 2013 \ Проекты \ ConsoleApplication2 \ Release \ ConsoleApplication2.pdb "/ SUBSYSTEM: CONSOLE/OPT: REF/OPT: ICF/LTCG/TLBID: 1/D YNAMICBASE/NXCOMPAT/Implib: "C: \ Users \ Admin \ Documents \ Visual Studio 2013 \ Projects \ ConsoleApplication2 \ Release \ ConsoleApplication2.lib"/MACHINE: X86/SafeSEH Release \ CLM.obj Release \ FCheck.obj
Release\FDet.obj
Release\IO.obj
Release\Patch.obj
Release\PAW.obj
Release\PDM.obj
Release\Tracker.obj
Release\updated_facetracker_v2.obj
Release\glm.obj
Release\glmimg.obj
Release\glmimg_devil.obj
Release\glmimg_jpg.obj
Release\glmimg_png.obj
Release\glmimg_sdl.obj
Release\glmimg_sim.obj
Release\glm_util.obj
Release\stdafx.obj
1>updated_facetracker_v2.obj : error LNK2001: unresolved external symbol "void __cdecl glmDraw(struct _GLMmodel *,unsigned int)" ([email protected]@[email protected]@[email protected])
1>updated_facetracker_v2.obj : error LNK2001: unresolved external symbol "struct _GLMmodel * __cdecl glmReadOBJ(char *)" ([email protected]@[email protected]@[email protected])
1>C:\Users\Admin\Documents\Visual Studio 2013\Projects\ConsoleApplication2\Release\ConsoleApplication2.exe : fatal error LNK1120: 2 unresolved externals
1>Done Building Project "C:\Users\Admin\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.vcxproj" (Build target(s)) -- FAILED.
Сборка НЕИСПРАВНО.
Время, прошедшее с начала 00: 00: 00,81
это оригинальные проекты создания файла здесь glm.c компилируется построен после того, как файл updated_facetracker_v2.cpp и glm.c не было никакой ошибки «
Вы должны взглянуть на окно ошибки, чтобы легко увидеть все ваши ошибки и определить первый из них. – sjdowling
Эта ошибка не связана с примером, который вы указали, однако должна быть ошибка компиляции выше. – tillaert
выше пример для легкого понимания –