Azure / azure-storage-cpplite

Lite version of C++ Client Library for Microsoft Azure Storage
MIT License
25 stars 44 forks source link

Sample does not link when using shared lib #45

Closed raghujayan closed 4 years ago

raghujayan commented 4 years ago

cmake .. -G "Visual Studio 15 2017" -DCURL_LIBRARIES="D:\source\curl\builds\libcurl-vc14-x64-release-dll-ipv6-sspi-winssl\lib\libcurl.lib" -DCURL_INCLUDE_DIRS="D:\source\curl\builds\libcurl-vc14-x64-release-dll-ipv6-sspi-winssl\include" -DBUILD_SAMPLES=true -DCURL_LINK_TYPE=dll -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=true -DBUILD_WITH_MT=true

After running the above cmake I issue a build command

MSBuild.exe azurestoragelite.sln /p:Configuration=Release

Although sample project finds the .lib for the sdk, it does not link correctly, I get unresolved symbol messages like :

Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol "public: bool __cdecl azure::storage_lite::blob_client_wrapper::container_exists(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?container_exists@blob_client_wrapper@storage_lite@azure@@QEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function main azure-storage-sample C:\Users\raghu\source\azure-storage-cpplite-shared\build.release\sample\sample.obj 1

Any ideas? Am I missing something in Cmake options?

Thanks Raghu

Jinming-Hu commented 4 years ago

Hi @raghujayan This is a known issue, it's because APIs in blob_client_wrapper are not declared with dllexport. I already fixed this here https://github.com/Azure/azure-storage-cpplite/pull/41.

raghujayan commented 4 years ago

Thank you fixing the issue @JinmingHu-MSFT . Do you know when the changes will get merged?

Jinming-Hu commented 4 years ago

@raghujayan I guess, maybe in a week or two.

raghujayan commented 4 years ago

Ok thanks.

Jinming-Hu commented 4 years ago

@raghujayan Hi, it's already merged.

raghujayan commented 4 years ago

Thank you @JinmingHu-MSFT. I have merged the changes with our product. I have test the chagnes and all of it works. Appreciate the quick turnaround.