Hello World example for V8 using gyp - c++

Since SCons has been deprecated. I used the gyp to generate vs solution.
I did what they told me on the build BuildingWithGYP.
And the v8 project builded ok!
and I got the v8_base.lib but no v8.lib.
And in the hello world project ,get started.I add the lib directory into the add library.
But it linked failed:
Linking...
1>v8test.obj : error LNK2019: unresolved external symbol "public:
__thiscall v8::HandleScope::~HandleScope(void)" (??
1HandleScope#v8##QAE#XZ) referenced in function _main
1>v8test.obj : error LNK2019: unresolved external symbol "public:
__thiscall v8::String::AsciiValue::~AsciiValue(void)" (??
1AsciiValue#String#v8##QAE#XZ) referenced in function _main
1>v8test.obj : error LNK2019: unresolved external symbol "public:
__thiscall v8::String::AsciiValue::AsciiValue(class v8::Handle<class
v8::Value>)" (??0AsciiValue#String#v8##QAE#V?$Handle#VValue#v8###2##Z)
referenced in function _main
1>v8test.obj : error LNK2019: unresolved external symbol "public:
class v8::Local<class v8::Value> __thiscall v8::Script::Run(void)" (?
Run#Script#v8##QAE?AV?$Local#VValue#v8###2#XZ) referenced in function
_main
……
It seems that couldn't find the implement
but i used the dumpbin tool and find the symbol i can find them in the v8_base.lib
I am sure that the library directory is ok!
but i don't know why it couldn't find the implement.

You can add the lib "v8_base.lib" as an additional dependency to fix the problem.

Related

Linking libusb to my project

I am having problem figure out how to use libusb, I put "libusb-1.0.18-rc1\libusb"
in include directories (using Visua Studio), but it doesn't work.
Can anyone enlighten me. Thanks a lot!
error message:
1>test.obj : error LNK2019: unresolved external symbol _libusb_exit#4 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_close#4 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_release_interface#8 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_bulk_transfer#24 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_claim_interface#8 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_detach_kernel_driver#8 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_kernel_driver_active#8 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_free_device_list#8 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_open_device_with_vid_pid#12 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_get_device_list#8 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_set_debug#8 referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol _libusb_init#4 referenced in function _main
If you havne't done so already you will need to build the libraries you will be linking to, they are located in \libusb-1.0.18-rc1\msvc. There are multiple projects there depending on your Visual Studio version and whether you want a DLL or a static LIB file.
In either case you will need to right click on your project, then under Configuration Properties -> Linker -> Input -> Additional Dependencies add a reference to the LIB file you created. If you are linking to the static LIB file you're done, it will build the code in to your executable. If you're linking to the LIB file for the DLL make sure the DLL is available in your execution path. In either case this should resolve your unresolved externals.
I think you must take the 32-Bit Version of the libusb-Library/DLL and ensure 32 Bit Compile at Project Properies. That solved my Problem with LNK2019.

How to use lacewing project

I am a newbie to C++. I want to use, lacewing-project.org in my C++ project. I read the documentation on how to build it and successfully did it using both DLL - Release and Static Library - Release configurations.
Now I don't know how to use this in my project and how to setup and configure my project? I was following this tutorial, but was stuck in the middle because of missing options in the latest Visual Studio. I use Visual C++ Expression Ed., 2012 on Windows 8
I googled and did the following:
Added the lib file and the lacewing.h file in my project.
Under Visual C++ Project Properties, in the Linker folder -> Input I added the lib file as Additional Dependencies.
I placed the dll in Windows\System32 folder. Will I need to do anything with the dll other than placing it in win32 folder?
My code is from the hello world example given in the documentation.
When I try to compile I get:
1>------ Build started: Project: test, Configuration: Debug Win32 ------
1> Source.cpp
1>Source.obj : error LNK2019: unresolved external symbol __imp__lw_version referenced in function "void __cdecl on_get(struct lacewing::_webserver *,struct lacewing::_webserver_request *)" (?on_get##YAXPAU_webserver#lacewing##PAU_webserver_request#2##Z)
1>Source.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl lacewing::pump_delete(struct lacewing::_pump *)" (__imp_?pump_delete#lacewing##YAXPAU_pump#1##Z) referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct lacewing::_error * __thiscall lacewing::_eventpump::start_eventloop(void)" (__imp_?start_eventloop#_eventpump#lacewing##QAEPAU_error#2#XZ) referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) struct lacewing::_eventpump * __cdecl lacewing::eventpump_new(void)" (__imp_?eventpump_new#lacewing##YAPAU_eventpump#1#XZ) referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl lacewing::_stream::writef(char const *,...)" (__imp_?writef#_stream#lacewing##QAAXPBDZZ) referenced in function "void __cdecl on_get(struct lacewing::_webserver *,struct lacewing::_webserver_request *)" (?on_get##YAXPAU_webserver#lacewing##PAU_webserver_request#2##Z)
1>Source.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall lacewing::_webserver::host(long)" (__imp_?host#_webserver#lacewing##QAEXJ#Z) referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall lacewing::_webserver::on_get(void (__cdecl*)(struct lacewing::_webserver *,struct lacewing::_webserver_request *))" (__imp_?on_get#_webserver#lacewing##QAEXP6AXPAU12#PAU_webserver_request#2##Z#Z) referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) struct lacewing::_webserver * __cdecl lacewing::webserver_new(struct lacewing::_pump *)" (__imp_?webserver_new#lacewing##YAPAU_webserver#1#PAU_pump#1##Z) referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl lacewing::webserver_delete(struct lacewing::_webserver *)" (__imp_?webserver_delete#lacewing##YAXPAU_webserver#1##Z) referenced in function _main
1>C:\Users\Jayarathina\Desktop\New folder (3)\test\Debug\test.exe : fatal error LNK1120: 9 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Please help...
To link statically with the library, one must define lw_import. If you don't do this, it will default to __declspec(dllimport):
#ifndef lw_import
#define lw_import __declspec (dllimport)
#endif
which causes the linker to try and pull the functions in from a DLL (which is wrong when statically linking). To do this, you can either add lw_import= to your preprocessor definitions in the project properties, or #define it before including lacewing.h, as so:
#define lw_import
#include <lacewing.h>
As you're statically linking the library, you will also need to link any library dependencies into your own project. You can find the list in the project properties of liblacewing.vcproj itself, but as of 0.5.1 these are ws2_32.lib, mswsock.lib, mpr.lib, secur32.lib and crypt32.lib.

Error when building a project in VC++ 2010 Express [duplicate]

This question already has answers here:
Linker error LNK2019 from 3rd party library
(3 answers)
Closed 10 years ago.
I tried to see what is the problem(s) related to those error messages. I tried to check everything but still, I'm not finding the source of the error.
According to you, the obj error followed by error LNK2019: unresolved external symbol imp__is_CaptureVideo referenced in function, what is its provenance?
I'm using Visual Express C++ 2010.
Thank you.
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_CaptureVideo referenced in function "private: void __thiscall CIdsSimpleLiveDlg::OnButtonStart(void)" (?OnButtonStart#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_StopLiveVideo referenced in function "private: void __thiscall CIdsSimpleLiveDlg::OnButtonStop(void)" (?OnButtonStop#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_SetImageMem referenced in function "private: void __thiscall CIdsSimpleLiveDlg::OnBnClickedButtonLoadParameter(void)" (?OnBnClickedButtonLoadParameter#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_AllocImageMem referenced in function "private: void __thiscall CIdsSimpleLiveDlg::OnBnClickedButtonLoadParameter(void)" (?OnBnClickedButtonLoadParameter#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_SetColorMode referenced in function "private: void __thiscall CIdsSimpleLiveDlg::OnBnClickedButtonLoadParameter(void)" (?OnBnClickedButtonLoadParameter#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_AOI referenced in function "private: void __thiscall CIdsSimpleLiveDlg::OnBnClickedButtonLoadParameter(void)" (?OnBnClickedButtonLoadParameter#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_FreeImageMem referenced in function "private: void __thiscall CIdsSimpleLiveDlg::OnBnClickedButtonLoadParameter(void)" (?OnBnClickedButtonLoadParameter#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_ParameterSet referenced in function "private: void __thiscall CIdsSimpleLiveDlg::OnBnClickedButtonLoadParameter(void)" (?OnBnClickedButtonLoadParameter#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_EnableMessage referenced in function "private: bool __thiscall CIdsSimpleLiveDlg::OpenCamera(void)" (?OpenCamera#CIdsSimpleLiveDlg##AAE_NXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_GetSensorInfo referenced in function "private: bool __thiscall CIdsSimpleLiveDlg::OpenCamera(void)" (?OpenCamera#CIdsSimpleLiveDlg##AAE_NXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_RenderBitmap referenced in function "private: long __thiscall CIdsSimpleLiveDlg::OnUEyeMessage(unsigned int,long)" (?OnUEyeMessage#CIdsSimpleLiveDlg##AAEJIJ#Z)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_ExitCamera referenced in function "private: void __thiscall CIdsSimpleLiveDlg::ExitCamera(void)" (?ExitCamera#CIdsSimpleLiveDlg##AAEXXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_GetColorDepth referenced in function "private: int __thiscall CIdsSimpleLiveDlg::InitDisplayMode(void)" (?InitDisplayMode#CIdsSimpleLiveDlg##AAEHXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_SetDisplayMode referenced in function "private: int __thiscall CIdsSimpleLiveDlg::InitDisplayMode(void)" (?InitDisplayMode#CIdsSimpleLiveDlg##AAEHXZ)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_GetDuration referenced in function "private: int __thiscall CIdsSimpleLiveDlg::InitCamera(unsigned long *,struct HWND__ *)" (?InitCamera#CIdsSimpleLiveDlg##AAEHPAKPAUHWND__###Z)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_InitCamera referenced in function "private: int __thiscall CIdsSimpleLiveDlg::InitCamera(unsigned long *,struct HWND__ *)" (?InitCamera#CIdsSimpleLiveDlg##AAEHPAKPAUHWND__###Z)
1>IdsSimpleLiveDlg.obj : error LNK2019: unresolved external symbol __imp__is_ImageFormat referenced in function "private: void __thiscall CIdsSimpleLiveDlg::GetMaxImageSize(int *,int *)" (?GetMaxImageSize#CIdsSimpleLiveDlg##AAEXPAH0#Z)
1>nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv
1>nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argc
1>C:\Program Files\IDS\uEye\Develop\Source\SimpleLive\Debug\po.exe : fatal error LNK1120: 19 unresolved externals
I have added the correspondent library by clicking on the properties
of my project and then, adding the directory to the Library Directories
It seems like you've added the 'Additional Library Directory' to your VS Project - but didn't link the actual library file (windows extension: .lib). I think what you did is
Project Properties -> Configuration Properties-> Linker -> General -> Additional Library Directories
and added the directoy where your 3rd party '.lib' is inside. But in fact this doesn't link against that '.lib' file by itself (it just added the directory where VS is searching for the linked .lib files).
Try the following:
Right click on your project -> Project Properties -> Configuration Properties-> Linker -> Input -> Additional Dependencies
There is a list like:
'kernel32.lib;user32.lib;...;%(AdditionalDependencies)'
And somewehere inside there should the name of your '.lib file' appear. If it doesn't, you've to add it there. I.e. if the lib of your 3rd party library is named 'myLib.lib' you would insert there instead
'kernel32.lib;user32.lib;...;myLib.lib;%(AdditionalDependencies)'

Unresolved external symbols in Visual Studio 2010

I am coming from Xcode, trying to compile a project in Visual Studio 2010, and I get the following errors:
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "struct _GUID __cdecl CLEyeGetCameraUUID(int)" (?CLEyeGetCameraUUID##YA?AU_GUID##H#Z) referenced in function "public: static int __cdecl ofxCLeye::listDevices(void)" (?listDevices#ofxCLeye##SAHXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "int __cdecl CLEyeGetCameraCount(void)" (?CLEyeGetCameraCount##YAHXZ) referenced in function "public: static int __cdecl ofxCLeye::listDevices(void)" (?listDevices#ofxCLeye##SAHXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraGetFrameDimensions(void *,int &,int &)" (?CLEyeCameraGetFrameDimensions##YA_NPAXAAH1#Z) referenced in function "public: void __thiscall ofxCLeye::grabFrame(void)" (?grabFrame#ofxCLeye##QAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraGetFrame(void *,unsigned char *,int)" (?CLEyeCameraGetFrame##YA_NPAXPAEH#Z) referenced in function "public: void __thiscall ofxCLeye::grabFrame(void)" (?grabFrame#ofxCLeye##QAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeDestroyCamera(void *)" (?CLEyeDestroyCamera##YA_NPAX#Z) referenced in function "public: virtual void __thiscall ofxCLeye::close(void)" (?close#ofxCLeye##UAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraStop(void *)" (?CLEyeCameraStop##YA_NPAX#Z) referenced in function "public: virtual void __thiscall ofxCLeye::close(void)" (?close#ofxCLeye##UAEXXZ)
... etc etc...
2>bin\clEye_debug.exe : fatal error LNK1120: 10 unresolved externals
I imagine that the compiler is trying to link CLEyeMulticam.lib but not finding it. I think that I have configured it properly.
Could you point me with the needed steps to include a library in VS2010 ?
Thank you,
marc
Apologies if this is overly pedantic. If this is a pre-built library (not built as part of the project/solution) then make sure you
a) #include the correct header
b) #define any requisite macros
c) speciy additional .lib dependencies as shown below.
You will need to specify a fully qualifed path (d:\src\project\libs\camera.lib) unless the libary file is in the LIB environment variable.
In the Property Pages for your project, navigate to Configuration > Linker > Input and add the lib file to the Additional Dependencies setting. This applies to VC++ 2008, probably likewise to 2010.

error LNK2019: unresolved external symbol "public:

I am creating an torrent application using libtorrent in VS 2008. I tried the example given in the link http://www.rasterbar.com/products/libtorrent/examples.html
BUt it is showing me these error....how to solve them?
Linking...
main.obj : error LNK2019: unresolved external symbol "public: __thiscall libtorrent::torrent_info::~torrent_info(void)" (??1torrent_info#libtorrent##QAE#XZ) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "public: __thiscall libtorrent::torrent_info::torrent_info(struct libtorrent::lazy_entry const &)" (??0torrent_info#libtorrent##QAE#ABUlazy_entry#1##Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "class std::basic_ostream > & __cdecl libtorrent::operator<<(class std::basic_ostream > &,struct libtorrent::lazy_entry const &)" (??6libtorrent##YAAAV?$basic_ostream#DU?$char_traits#D#std###std##AAV12#ABUlazy_entry#0##Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "int __cdecl libtorrent::lazy_bdecode(char const *,char const *,struct libtorrent::lazy_entry &,int)" (?lazy_bdecode#libtorrent##YAHPBD0AAUlazy_entry#1#H#Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "public: void __thiscall libtorrent::lazy_entry::clear(void)" (?clear#lazy_entry#libtorrent##QAEXXZ) referenced in function "public: __thiscall libtorrent::lazy_entry::~lazy_entry(void)" (??1lazy_entry#libtorrent##QAE#XZ)
main.obj : error LNK2019: unresolved external symbol "void __cdecl libtorrent::to_hex(char const *,int,char *)" (?to_hex#libtorrent##YAXPBDHPAD#Z) referenced in function "class std::basic_ostream > & __cdecl libtorrent::operator<<(class std::basic_ostream > &,class libtorrent::big_number const &)" (??6libtorrent##YAAAV?$basic_ostream#DU?$char_traits#D#std###std##AAV12#ABVbig_number#0##Z)
main.obj : error LNK2019: unresolved external symbol "public: struct libtorrent::peer_request __thiscall libtorrent::file_storage::map_file(int,__int64,int)const " (?map_file#file_storage#libtorrent##QBE?AUpeer_request#2#H_JH#Z) referenced in function "public: struct libtorrent::peer_request __thiscall libtorrent::torrent_info::map_file(int,__int64,int)const " (?map_file#torrent_info#libtorrent##QBE?AUpeer_request#2#H_JH#Z)
C:\Users\photoshop3\Documents\Visual Studio 2008\Projects\Lib2\Debug\Lib2.exe : fatal error LNK1120: 7 unresolved externals
The .lib is not included in your project. Make sure you are linking it in;
Configuration Properties -> Linker -> Input -> Additional Dependencies
Another altnerative is to simply copy the .lib to your project folder but don't, it's bound to create problems later on.
Sometimes the .lib is not shipped with the library, so you need to compile it yourself.
The README will tell you this. If this is the case, they usually ship with a .sln file you can open and the just compile it into a .lib file which you then reference in your main application, as I wrote above
Have you added the path of header files in the "Configuration Properties" --> "C/C++“ --> "General" --> "Additional Include Directories"?
The link gives you only the sources (including headerfiles) of libtorrent. You should compile this sources to get a .lib file. Add this .lib file to your client:
Configuration Properties/Linker/Input -> Additional Dependencies: libtorrent-rasterbar.lib
The best starting point for compiling should be the README file.
public: isn't the unresolved symbol. It's just there because the linker it trying to tell you that (most) of the unresolved symbols are public member functions.
It looks like you've included the header for "libtorrent", but not linked to the "libtorrent" library.
You have probably not linked with the torrent library or specified the wrong path to it so that the linker cannot find it.
If the input libraries are of 32bit and your are using them in building a 64bit it might be one of the reasons
For me, I had it included in my project, but it turned out that it was a plugin that was designed to not create an instance of in my unit test.