Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot build on Windows #13

Closed
jawilson opened this issue Feb 11, 2021 · 12 comments · Fixed by #23 · May be fixed by aws/aws-sdk-cpp#1839
Closed

Cannot build on Windows #13

jawilson opened this issue Feb 11, 2021 · 12 comments · Fixed by #23 · May be fixed by aws/aws-sdk-cpp#1839

Comments

@jawilson
Copy link
Contributor

I've tried as many things as I can think and I can't get this to build in Windows.

I had no problems build/installing aws-sdk-cpp.

When I build the SDK with:

cmake -S . -B build -DCMAKE_INSTALL_PREFIX:PATH=C:/aws-cpp-sdk-all -DCMAKE_BUILD_TYPE=Debug && cmake --build build -j --config Debug && cmake --install build --config Debug

and this project with:

meson --buildtype debug --pkg-config-path C:\aws-cpp-sdk-all\lib\pkgconfig build && meson compile -C build -j 0

I get:

The Meson build system
Version: 0.56.2
Source dir: C:\Projects\amazon-s3-gst-plugin
Build dir: C:\Projects\amazon-s3-gst-plugin\build
Build type: native build
Project name: amazon-s3-gst-plugin
Project version: 0.1.0
C compiler for the host machine: cl (msvc 19.28.29337 "Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29337 for x64")
C linker for the host machine: link link 14.28.29337.0
C++ compiler for the host machine: cl (msvc 19.28.29337 "Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29337 for x64")
C++ linker for the host machine: link link 14.28.29337.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: C:\gstreamer\1.18.2\msvc_x86_64\\bin\pkg-config.EXE (0.29.2)
Run-time dependency glib-2.0 found: YES 2.62.6
Run-time dependency gstreamer-1.0 found: YES 1.18.2
Run-time dependency gstreamer-base-1.0 found: YES 1.18.2
Run-time dependency gstreamer-check-1.0 found: YES 1.18.2
Run-time dependency aws-cpp-sdk-s3 found: YES 1.8.139
Run-time dependency aws-cpp-sdk-sts found: YES 1.8.139
Configuring config.h using configuration
Configuring gstreamer-aws-1.0.pc using configuration
Build targets in project: 4

Option buildtype is: debug [default: debugoptimized]
Found ninja-1.10.2 at "C:\Program Files\Meson\ninja.EXE"
Found runner: ['C:\\Program Files\\Meson\\ninja.EXE']
ninja: Entering directory `build'
[3/12] Compiling C object src/gsts3elements.dll.p/gsts3sink.c.obj
C:\Projects\amazon-s3-gst-plugin\src\gsts3sink.c(351): warning C4244: 'function': conversion from 'gsize' to 'guint', possible loss of data
[4/12] Compiling C object tests/check/s3sink.exe.p/s3sink.c.obj
C:\Projects\amazon-s3-gst-plugin\tests\check\s3sink.c(91): warning C4267: 'function': conversion from 'size_t' to 'guint32', possible loss of data
[6/12] Linking target src/gstawscredentials-1.0.dll
FAILED: src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.pdb
"link"  /MACHINE:x64 /OUT:src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.dll.p/gstawscredentials.cpp.obj "/nologo" "/release" "/nologo" "/DEBUG" "/PDB:src\gstawscredentials-1.0.pdb" "/DLL" "/IMPLIB:src\gstawscredentials-1.0.lib" "/LIBPATH:C:/aws-cpp-sdk-all/lib" "aws-cpp-sdk-sts.lib" "aws-cpp-sdk-core.lib" "C:/gstreamer/1.18.2/msvc_x86_64/lib/gstreamer-1.0.lib" "C:/gstreamer/1.18.2/msvc_x86_64/lib/gobject-2.0.lib" "C:/gstreamer/1.18.2/msvc_x86_64/lib/glib-2.0.lib" "C:/gstreamer/1.18.2/msvc_x86_64/lib/intl.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib"
LINK : fatal error LNK1181: cannot open input file 'aws-cpp-sdk-sts.lib'
[7/12] Compiling C++ object src/libmultipartuploader.a.p/gsts3multipartuploader.cpp.obj
ninja: build stopped: subcommand failed.

Alternatively if I build the SDK with:

S . -B build -DCMAKE_INSTALL_PREFIX:PATH=C:/aws-cpp-sdk-all -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=NO && cmake --build build -j --config Debug && cmake --install build --config Debug

and this project with:

meson --buildtype debug --pkg-config-path C:\aws-cpp-sdk-all\lib\pkgconfig build && meson compile -C build -j 0

I get:

The Meson build system
Version: 0.56.2
Source dir: C:\Projects\amazon-s3-gst-plugin
Build dir: C:\Projects\amazon-s3-gst-plugin\build
Build type: native build
Project name: amazon-s3-gst-plugin
Project version: 0.1.0
C compiler for the host machine: cl (msvc 19.28.29337 "Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29337 for x64")
C linker for the host machine: link link 14.28.29337.0
C++ compiler for the host machine: cl (msvc 19.28.29337 "Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29337 for x64")
C++ linker for the host machine: link link 14.28.29337.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: C:\gstreamer\1.18.2\msvc_x86_64\\bin\pkg-config.EXE (0.29.2)
Run-time dependency glib-2.0 found: YES 2.62.6
Run-time dependency gstreamer-1.0 found: YES 1.18.2
Run-time dependency gstreamer-base-1.0 found: YES 1.18.2
Run-time dependency gstreamer-check-1.0 found: YES 1.18.2
Run-time dependency aws-cpp-sdk-s3 found: YES 1.8.139
Run-time dependency aws-cpp-sdk-sts found: YES 1.8.139
Configuring config.h using configuration
Configuring gstreamer-aws-1.0.pc using configuration
Build targets in project: 4

Option buildtype is: debug [default: debugoptimized]
Found ninja-1.10.2 at "C:\Program Files\Meson\ninja.EXE"
Found runner: ['C:\\Program Files\\Meson\\ninja.EXE']
ninja: Entering directory `build'
[3/12] Compiling C object src/gsts3elements.dll.p/gsts3sink.c.obj
C:\Projects\amazon-s3-gst-plugin\src\gsts3sink.c(351): warning C4244: 'function': conversion from 'gsize' to 'guint', possible loss of data
[4/12] Compiling C object tests/check/s3sink.exe.p/s3sink.c.obj
C:\Projects\amazon-s3-gst-plugin\tests\check\s3sink.c(91): warning C4267: 'function': conversion from 'size_t' to 'guint32', possible loss of data
[6/12] Linking target src/gstawscredentials-1.0.dll
FAILED: src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.pdb
"link"  /MACHINE:x64 /OUT:src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.dll.p/gstawscredentials.cpp.obj "/nologo" "/release" "/nologo" "/DEBUG" "/PDB:src\gstawscredentials-1.0.pdb" "/DLL" "/IMPLIB:src\gstawscredentials-1.0.lib" "C:/aws-cpp-sdk-all/lib/aws-cpp-sdk-sts.lib" "C:/aws-cpp-sdk-all/lib/aws-cpp-sdk-core.lib" "C:/gstreamer/1.18.2/msvc_x86_64/lib/gstreamer-1.0.lib" "C:/gstreamer/1.18.2/msvc_x86_64/lib/gobject-2.0.lib" "C:/gstreamer/1.18.2/msvc_x86_64/lib/glib-2.0.lib" "C:/gstreamer/1.18.2/msvc_x86_64/lib/intl.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib"
LINK : warning LNK4217: symbol '??0ClientConfiguration@Client@Aws@@QEAA@XZ (public: __cdecl Aws::Client::ClientConfiguration::ClientConfiguration(void))' defined in 'aws-cpp-sdk-core.lib(ub_core.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??1ClientConfiguration@Client@Aws@@QEAA@XZ (public: __cdecl Aws::Client::ClientConfiguration::~ClientConfiguration(void))' defined in 'aws-cpp-sdk-core.lib(ub_core.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??0AWSCredentials@Auth@Aws@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00@Z (public: __cdecl Aws::Auth::AWSCredentials::AWSCredentials(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &))' defined in 'aws-cpp-sdk-core.lib(ub_core.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '?GetAWSAccessKeyId@AWSCredentials@Auth@Aws@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ (public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __cdecl Aws::Auth::AWSCredentials::GetAWSAccessKeyId(void)const )' defined in 'aws-cpp-sdk-core.lib(ub_core.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??1AWSCredentials@Auth@Aws@@QEAA@XZ (public: __cdecl Aws::Auth::AWSCredentials::~AWSCredentials(void))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??0SimpleAWSCredentialsProvider@Auth@Aws@@QEAA@AEBVAWSCredentials@12@@Z (public: __cdecl Aws::Auth::SimpleAWSCredentialsProvider::SimpleAWSCredentialsProvider(class Aws::Auth::AWSCredentials const &))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??1SimpleAWSCredentialsProvider@Auth@Aws@@UEAA@XZ (public: virtual __cdecl Aws::Auth::SimpleAWSCredentialsProvider::~SimpleAWSCredentialsProvider(void))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"public: virtual void * __cdecl Aws::Auth::SimpleAWSCredentialsProvider::`scalar deleting destructor'(unsigned int)" (??_GSimpleAWSCredentialsProvider@Auth@Aws@@UEAAPEAXI@Z)'
LINK : warning LNK4217: symbol '??0DefaultAWSCredentialsProviderChain@Auth@Aws@@QEAA@XZ (public: __cdecl Aws::Auth::DefaultAWSCredentialsProviderChain::DefaultAWSCredentialsProviderChain(void))' defined in 'aws-cpp-sdk-core.lib(ub_core.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"public: class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl <lambda_f53f2d229b59e1ef00649de4414d56ed>::operator()(void)const " (??R<lambda_f53f2d229b59e1ef00649de4414d56ed>@@QEBA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@XZ)'
LINK : warning LNK4217: symbol '??1DefaultAWSCredentialsProviderChain@Auth@Aws@@UEAA@XZ (public: virtual __cdecl Aws::Auth::DefaultAWSCredentialsProviderChain::~DefaultAWSCredentialsProviderChain(void))' defined in 'aws-cpp-sdk-core.lib(ub_core.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"public: virtual void * __cdecl Aws::Auth::DefaultAWSCredentialsProviderChain::`scalar deleting destructor'(unsigned int)" (??_GDefaultAWSCredentialsProviderChain@Auth@Aws@@UEAAPEAXI@Z)'
LINK : warning LNK4217: symbol '??0AssumeRoleRequest@Model@STS@Aws@@QEAA@XZ (public: __cdecl Aws::STS::Model::AssumeRoleRequest::AssumeRoleRequest(void))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??1AssumeRoleRequest@Model@STS@Aws@@UEAA@XZ (public: virtual __cdecl Aws::STS::Model::AssumeRoleRequest::~AssumeRoleRequest(void))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??1STSError@STS@Aws@@QEAA@XZ (public: __cdecl Aws::STS::STSError::~STSError(void))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"public: __cdecl Aws::Utils::Outcome<class Aws::STS::Model::AssumeRoleResult,class Aws::STS::STSError>::~Outcome<class Aws::STS::Model::AssumeRoleResult,class Aws::STS::STSError>(void)" (??1?$Outcome@VAssumeRoleResult@Model@STS@Aws@@VSTSError@34@@Utils@Aws@@QEAA@XZ)'
LINK : warning LNK4217: symbol '??1Credentials@Model@STS@Aws@@QEAA@XZ (public: __cdecl Aws::STS::Model::Credentials::~Credentials(void))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??1AssumeRoleResult@Model@STS@Aws@@QEAA@XZ (public: __cdecl Aws::STS::Model::AssumeRoleResult::~AssumeRoleResult(void))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"public: __cdecl Aws::Utils::Outcome<class Aws::STS::Model::AssumeRoleResult,class Aws::STS::STSError>::~Outcome<class Aws::STS::Model::AssumeRoleResult,class Aws::STS::STSError>(void)" (??1?$Outcome@VAssumeRoleResult@Model@STS@Aws@@VSTSError@34@@Utils@Aws@@QEAA@XZ)'
LINK : warning LNK4217: symbol '??0STSClient@STS@Aws@@QEAA@AEBV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@std@@AEBUClientConfiguration@Client@2@@Z (public: __cdecl Aws::STS::STSClient::STSClient(class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider> const &,struct Aws::Client::ClientConfiguration const &))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
LINK : warning LNK4217: symbol '??1STSClient@STS@Aws@@UEAA@XZ (public: virtual __cdecl Aws::STS::STSClient::~STSClient(void))' defined in 'aws-cpp-sdk-sts.lib(ub_STS.obj)' is imported by 'gstawscredentials.cpp.obj' in function '"class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)'
gstawscredentials.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class Aws::STS::Model::AssumeRoleRequest & __cdecl Aws::STS::Model::AssumeRoleRequest::WithRoleArn(char const *)" (__imp_?WithRoleArn@AssumeRoleRequest@Model@STS@Aws@@QEAAAEAV1234@PEBD@Z) referenced in function "class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)
gstawscredentials.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class Aws::STS::Model::AssumeRoleRequest & __cdecl Aws::STS::Model::AssumeRoleRequest::WithRoleSessionName(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?WithRoleSessionName@AssumeRoleRequest@Model@STS@Aws@@QEAAAEAV1234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)
gstawscredentials.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __cdecl Aws::STS::Model::Credentials::GetAccessKeyId(void)const " (__imp_?GetAccessKeyId@Credentials@Model@STS@Aws@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)
gstawscredentials.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __cdecl Aws::STS::Model::Credentials::GetSecretAccessKey(void)const " (__imp_?GetSecretAccessKey@Credentials@Model@STS@Aws@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)
gstawscredentials.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __cdecl Aws::STS::Model::Credentials::GetSessionToken(void)const " (__imp_?GetSessionToken@Credentials@Model@STS@Aws@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)
gstawscredentials.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl Aws::STS::Model::Credentials::Credentials(class Aws::STS::Model::Credentials const &)" (__imp_??0Credentials@Model@STS@Aws@@QEAA@AEBV0123@@Z) referenced in function "class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)
gstawscredentials.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class Aws::STS::Model::Credentials const & __cdecl Aws::STS::Model::AssumeRoleResult::GetCredentials(void)const " (__imp_?GetCredentials@AssumeRoleResult@Model@STS@Aws@@QEBAAEBVCredentials@234@XZ) referenced in function "class std::unique_ptr<class Aws::Auth::AWSCredentialsProvider,struct std::default_delete<class Aws::Auth::AWSCredentialsProvider> > __cdecl _gst_aws_credentials_assume_role(char const *,class std::shared_ptr<class Aws::Auth::AWSCredentialsProvider>)" (?_gst_aws_credentials_assume_role@@YA?AV?$unique_ptr@VAWSCredentialsProvider@Auth@Aws@@U?$default_delete@VAWSCredentialsProvider@Auth@Aws@@@std@@@std@@PEBDV?$shared_ptr@VAWSCredentialsProvider@Auth@Aws@@@2@@Z)
aws-cpp-sdk-core.lib(Net.obj) : error LNK2019: unresolved external symbol __imp_WSAStartup referenced in function "void __cdecl Aws::Net::InitNetwork(void)" (?InitNetwork@Net@Aws@@YAXXZ)
aws-cpp-sdk-core.lib(Net.obj) : error LNK2019: unresolved external symbol __imp_WSACleanup referenced in function "void __cdecl Aws::Net::CleanupNetwork(void)" (?CleanupNetwork@Net@Aws@@YAXXZ)
aws-cpp-sdk-core.lib(FileSystem.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Aws::FileSystem::GetHomeDirectory(void)" (?GetHomeDirectory@FileSystem@Aws@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
aws-cpp-sdk-core.lib(OSVersionInfo.obj) : error LNK2019: unresolved external symbol GetFileVersionInfoSizeA referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Aws::OSVersionInfo::ComputeOSVersionString(void)" (?ComputeOSVersionString@OSVersionInfo@Aws@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
aws-cpp-sdk-core.lib(OSVersionInfo.obj) : error LNK2019: unresolved external symbol GetFileVersionInfoA referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Aws::OSVersionInfo::ComputeOSVersionString(void)" (?ComputeOSVersionString@OSVersionInfo@Aws@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
aws-cpp-sdk-core.lib(OSVersionInfo.obj) : error LNK2019: unresolved external symbol VerQueryValueA referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Aws::OSVersionInfo::ComputeOSVersionString(void)" (?ComputeOSVersionString@OSVersionInfo@Aws@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_bind referenced in function "public: int __cdecl Aws::Net::SimpleUDP::Bind(struct sockaddr const *,unsigned __int64)const " (?Bind@SimpleUDP@Net@Aws@@QEBAHPEBUsockaddr@@_K@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_closesocket referenced in function "public: __cdecl Aws::Net::SimpleUDP::~SimpleUDP(void)" (??1SimpleUDP@Net@Aws@@QEAA@XZ)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_connect referenced in function "public: int __cdecl Aws::Net::SimpleUDP::Connect(struct sockaddr const *,unsigned __int64)" (?Connect@SimpleUDP@Net@Aws@@QEAAHPEBUsockaddr@@_K@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_ioctlsocket referenced in function "private: void __cdecl Aws::Net::SimpleUDP::CreateSocket(int,unsigned __int64,unsigned __int64,bool)" (?CreateSocket@SimpleUDP@Net@Aws@@AEAAXH_K0_N@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_htons referenced in function "struct sockaddr_in __cdecl Aws::Net::BuildAddrInfoIPV4(char const *,short)" (?BuildAddrInfoIPV4@Net@Aws@@YA?AUsockaddr_in@@PEBDF@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_recv referenced in function "public: int __cdecl Aws::Net::SimpleUDP::ReceiveData(unsigned char *,unsigned __int64)const " (?ReceiveData@SimpleUDP@Net@Aws@@QEBAHPEAE_K@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_recvfrom referenced in function "public: int __cdecl Aws::Net::SimpleUDP::ReceiveDataFrom(struct sockaddr *,unsigned __int64 *,unsigned char *,unsigned __int64)const " (?ReceiveDataFrom@SimpleUDP@Net@Aws@@QEBAHPEAUsockaddr@@PEA_KPEAE_K@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_send referenced in function "public: int __cdecl Aws::Net::SimpleUDP::SendData(unsigned char const *,unsigned __int64)const " (?SendData@SimpleUDP@Net@Aws@@QEBAHPEBE_K@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_sendto referenced in function "public: int __cdecl Aws::Net::SimpleUDP::SendDataTo(struct sockaddr const *,unsigned __int64,unsigned char const *,unsigned __int64)const " (?SendDataTo@SimpleUDP@Net@Aws@@QEBAHPEBUsockaddr@@_KPEBE1@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_setsockopt referenced in function "private: void __cdecl Aws::Net::SimpleUDP::CreateSocket(int,unsigned __int64,unsigned __int64,bool)" (?CreateSocket@SimpleUDP@Net@Aws@@AEAAXH_K0_N@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_socket referenced in function "private: void __cdecl Aws::Net::SimpleUDP::CreateSocket(int,unsigned __int64,unsigned __int64,bool)" (?CreateSocket@SimpleUDP@Net@Aws@@AEAAXH_K0_N@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_WSAGetLastError referenced in function "private: void __cdecl Aws::Net::SimpleUDP::CreateSocket(int,unsigned __int64,unsigned __int64,bool)" (?CreateSocket@SimpleUDP@Net@Aws@@AEAAXH_K0_N@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_getaddrinfo referenced in function "bool __cdecl Aws::Net::GetASockAddrFromHostName(char const *,void *,unsigned __int64 &,int &)" (?GetASockAddrFromHostName@Net@Aws@@YA_NPEBDPEAXAEA_KAEAH@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_freeaddrinfo referenced in function "bool __cdecl Aws::Net::GetASockAddrFromHostName(char const *,void *,unsigned __int64 &,int &)" (?GetASockAddrFromHostName@Net@Aws@@YA_NPEBDPEAXAEA_KAEAH@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol __imp_inet_pton referenced in function "bool __cdecl Aws::Net::IsValidIPAddress(char const *,int)" (?IsValidIPAddress@Net@Aws@@YA_NPEBDH@Z)
aws-cpp-sdk-core.lib(SimpleUDP.obj) : error LNK2019: unresolved external symbol inet_ntop referenced in function "public: __cdecl Aws::Net::SimpleUDP::SimpleUDP(char const *,unsigned short,unsigned __int64,unsigned __int64,bool)" (??0SimpleUDP@Net@Aws@@QEAA@PEBDG_K1_N@Z)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptOpenAlgorithmProvider referenced in function "public: __cdecl Aws::Utils::Crypto::SecureRandomBytes_BCrypt::SecureRandomBytes_BCrypt(void)" (??0SecureRandomBytes_BCrypt@Crypto@Utils@Aws@@QEAA@XZ)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptGetProperty referenced in function "public: __cdecl Aws::Utils::Crypto::BCryptHashImpl::BCryptHashImpl(wchar_t const *,bool)" (??0BCryptHashImpl@Crypto@Utils@Aws@@QEAA@PEB_W_N@Z)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptSetProperty referenced in function "protected: void __cdecl Aws::Utils::Crypto::BCryptSymmetricCipher::InitKey(void)" (?InitKey@BCryptSymmetricCipher@Crypto@Utils@Aws@@IEAAXXZ)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptCloseAlgorithmProvider referenced in function "public: virtual __cdecl Aws::Utils::Crypto::SecureRandomBytes_BCrypt::~SecureRandomBytes_BCrypt(void)" (??1SecureRandomBytes_BCrypt@Crypto@Utils@Aws@@UEAA@XZ)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptEncrypt referenced in function "public: virtual class Aws::Utils::CryptoBuffer __cdecl Aws::Utils::Crypto::BCryptSymmetricCipher::EncryptBuffer(class Aws::Utils::CryptoBuffer const &)" (?EncryptBuffer@BCryptSymmetricCipher@Crypto@Utils@Aws@@UEAA?AVCryptoBuffer@34@AEBV534@@Z)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptDecrypt referenced in function "public: virtual class Aws::Utils::CryptoBuffer __cdecl Aws::Utils::Crypto::BCryptSymmetricCipher::DecryptBuffer(class Aws::Utils::CryptoBuffer const &)" (?DecryptBuffer@BCryptSymmetricCipher@Crypto@Utils@Aws@@UEAA?AVCryptoBuffer@34@AEBV534@@Z)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptExportKey referenced in function "public: virtual class Aws::Utils::CryptoBuffer __cdecl Aws::Utils::Crypto::AES_KeyWrap_Cipher_BCrypt::FinalizeEncryption(void)" (?FinalizeEncryption@AES_KeyWrap_Cipher_BCrypt@Crypto@Utils@Aws@@UEAA?AVCryptoBuffer@34@XZ)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptImportKey referenced in function "protected: static void * __cdecl Aws::Utils::Crypto::BCryptSymmetricCipher::ImportKeyBlob(void *,class Aws::Utils::CryptoBuffer &)" (?ImportKeyBlob@BCryptSymmetricCipher@Crypto@Utils@Aws@@KAPEAXPEAXAEAVCryptoBuffer@34@@Z)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptDestroyKey referenced in function "private: void __cdecl Aws::Utils::Crypto::BCryptSymmetricCipher::Cleanup(void)" (?Cleanup@BCryptSymmetricCipher@Crypto@Utils@Aws@@AEAAXXZ)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptCreateHash referenced in function "public: __cdecl Aws::Utils::Crypto::BCryptHashContext::BCryptHashContext(void *,unsigned char *,unsigned long)" (??0BCryptHashContext@Crypto@Utils@Aws@@QEAA@PEAXPEAEK@Z)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptHashData referenced in function "private: class Aws::Utils::Outcome<class Aws::Utils::Array<unsigned char>,bool> __cdecl Aws::Utils::Crypto::BCryptHashImpl::HashData(class Aws::Utils::Crypto::BCryptHashContext const &,unsigned char *,unsigned long)" (?HashData@BCryptHashImpl@Crypto@Utils@Aws@@AEAA?AV?$Outcome@V?$Array@E@Utils@Aws@@_N@34@AEBVBCryptHashContext@234@PEAEK@Z)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptFinishHash referenced in function "private: class Aws::Utils::Outcome<class Aws::Utils::Array<unsigned char>,bool> __cdecl Aws::Utils::Crypto::BCryptHashImpl::HashData(class Aws::Utils::Crypto::BCryptHashContext const &,unsigned char *,unsigned long)" (?HashData@BCryptHashImpl@Crypto@Utils@Aws@@AEAA?AV?$Outcome@V?$Array@E@Utils@Aws@@_N@34@AEBVBCryptHashContext@234@PEAEK@Z)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptDestroyHash referenced in function "public: __cdecl Aws::Utils::Crypto::BCryptHashContext::~BCryptHashContext(void)" (??1BCryptHashContext@Crypto@Utils@Aws@@QEAA@XZ)
aws-cpp-sdk-core.lib(CryptoImpl.obj) : error LNK2019: unresolved external symbol BCryptGenRandom referenced in function "public: virtual void __cdecl Aws::Utils::Crypto::SecureRandomBytes_BCrypt::GetBytes(unsigned char *,unsigned __int64)" (?GetBytes@SecureRandomBytes_BCrypt@Crypto@Utils@Aws@@UEAAXPEAE_K@Z)
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_InternetOpenA referenced in function "public: __cdecl Aws::Http::WinINetSyncHttpClient::WinINetSyncHttpClient(struct Aws::Client::ClientConfiguration const &)" (??0WinINetSyncHttpClient@Http@Aws@@QEAA@AEBUClientConfiguration@Client@2@@Z)
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_InternetCloseHandle referenced in function "public: virtual __cdecl Aws::Http::WinINetSyncHttpClient::~WinINetSyncHttpClient(void)" (??1WinINetSyncHttpClient@Http@Aws@@UEAA@XZ)
aws-cpp-sdk-core.lib(WinINetConnectionPoolMgr.obj) : error LNK2001: unresolved external symbol __imp_InternetCloseHandle
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_InternetReadFile referenced in function "private: virtual bool __cdecl Aws::Http::WinINetSyncHttpClient::DoReadData(void *,char *,unsigned __int64,unsigned __int64 &)const " (?DoReadData@WinINetSyncHttpClient@Http@Aws@@EEBA_NPEAXPEAD_KAEA_K@Z)
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_InternetWriteFile referenced in function "private: virtual unsigned __int64 __cdecl Aws::Http::WinINetSyncHttpClient::DoWriteData(void *,char *,unsigned __int64,bool)const " (?DoWriteData@WinINetSyncHttpClient@Http@Aws@@EEBA_KPEAXPEAD_K_N@Z)
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_InternetSetOptionA referenced in function "public: __cdecl Aws::Http::WinINetSyncHttpClient::WinINetSyncHttpClient(struct Aws::Client::ClientConfiguration const &)" (??0WinINetSyncHttpClient@Http@Aws@@QEAA@AEBUClientConfiguration@Client@2@@Z)
aws-cpp-sdk-core.lib(WinINetConnectionPoolMgr.obj) : error LNK2001: unresolved external symbol __imp_InternetSetOptionA
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_HttpOpenRequestA referenced in function "private: virtual void * __cdecl Aws::Http::WinINetSyncHttpClient::OpenRequest(class std::shared_ptr<class Aws::Http::HttpRequest> const &,void *,class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?OpenRequest@WinINetSyncHttpClient@Http@Aws@@EEBAPEAXAEBV?$shared_ptr@VHttpRequest@Http@Aws@@@std@@PEAXAEBV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@5@@Z)
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_HttpAddRequestHeadersA referenced in function "private: virtual void __cdecl Aws::Http::WinINetSyncHttpClient::DoAddHeaders(void *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const " (?DoAddHeaders@WinINetSyncHttpClient@Http@Aws@@EEBAXPEAXAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_HttpSendRequestExA referenced in function "private: virtual bool __cdecl Aws::Http::WinINetSyncHttpClient::DoSendRequest(void *)const " (?DoSendRequest@WinINetSyncHttpClient@Http@Aws@@EEBA_NPEAX@Z)
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_HttpEndRequestA referenced in function "private: virtual bool __cdecl Aws::Http::WinINetSyncHttpClient::DoReceiveResponse(void *)const " (?DoReceiveResponse@WinINetSyncHttpClient@Http@Aws@@EEBA_NPEAX@Z)
aws-cpp-sdk-core.lib(WinINetSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_HttpQueryInfoA referenced in function "private: virtual bool __cdecl Aws::Http::WinINetSyncHttpClient::DoQueryHeaders(void *,class std::shared_ptr<class Aws::Http::HttpResponse> &,class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > &,unsigned __int64 &)const " (?DoQueryHeaders@WinINetSyncHttpClient@Http@Aws@@EEBA_NPEAXAEAV?$shared_ptr@VHttpResponse@Http@Aws@@@std@@AEAV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@5@AEA_K@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpOpen referenced in function "public: __cdecl Aws::Http::WinHttpSyncHttpClient::WinHttpSyncHttpClient(struct Aws::Client::ClientConfiguration const &)" (??0WinHttpSyncHttpClient@Http@Aws@@QEAA@AEBUClientConfiguration@Client@2@@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpCloseHandle referenced in function "public: virtual __cdecl Aws::Http::WinHttpSyncHttpClient::~WinHttpSyncHttpClient(void)" (??1WinHttpSyncHttpClient@Http@Aws@@UEAA@XZ)
aws-cpp-sdk-core.lib(WinHttpConnectionPoolMgr.obj) : error LNK2001: unresolved external symbol __imp_WinHttpCloseHandle
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpReadData referenced in function "private: virtual bool __cdecl Aws::Http::WinHttpSyncHttpClient::DoReadData(void *,char *,unsigned __int64,unsigned __int64 &)const " (?DoReadData@WinHttpSyncHttpClient@Http@Aws@@EEBA_NPEAXPEAD_KAEA_K@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpWriteData referenced in function "private: virtual unsigned __int64 __cdecl Aws::Http::WinHttpSyncHttpClient::DoWriteData(void *,char *,unsigned __int64,bool)const " (?DoWriteData@WinHttpSyncHttpClient@Http@Aws@@EEBA_KPEAXPEAD_K_N@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpSetOption referenced in function "public: __cdecl Aws::Http::WinHttpSyncHttpClient::WinHttpSyncHttpClient(struct Aws::Client::ClientConfiguration const &)" (??0WinHttpSyncHttpClient@Http@Aws@@QEAA@AEBUClientConfiguration@Client@2@@Z)
aws-cpp-sdk-core.lib(WinHttpConnectionPoolMgr.obj) : error LNK2001: unresolved external symbol __imp_WinHttpSetOption
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpSetTimeouts referenced in function "public: __cdecl Aws::Http::WinHttpSyncHttpClient::WinHttpSyncHttpClient(struct Aws::Client::ClientConfiguration const &)" (??0WinHttpSyncHttpClient@Http@Aws@@QEAA@AEBUClientConfiguration@Client@2@@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpOpenRequest referenced in function "private: virtual void * __cdecl Aws::Http::WinHttpSyncHttpClient::OpenRequest(class std::shared_ptr<class Aws::Http::HttpRequest> const &,void *,class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?OpenRequest@WinHttpSyncHttpClient@Http@Aws@@EEBAPEAXAEBV?$shared_ptr@VHttpRequest@Http@Aws@@@std@@PEAXAEBV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@5@@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpAddRequestHeaders referenced in function "private: virtual void __cdecl Aws::Http::WinHttpSyncHttpClient::DoAddHeaders(void *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const " (?DoAddHeaders@WinHttpSyncHttpClient@Http@Aws@@EEBAXPEAXAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpSendRequest referenced in function "private: virtual bool __cdecl Aws::Http::WinHttpSyncHttpClient::DoSendRequest(void *)const " (?DoSendRequest@WinHttpSyncHttpClient@Http@Aws@@EEBA_NPEAX@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpReceiveResponse referenced in function "private: virtual bool __cdecl Aws::Http::WinHttpSyncHttpClient::DoReceiveResponse(void *)const " (?DoReceiveResponse@WinHttpSyncHttpClient@Http@Aws@@EEBA_NPEAX@Z)
aws-cpp-sdk-core.lib(WinHttpSyncHttpClient.obj) : error LNK2019: unresolved external symbol __imp_WinHttpQueryHeaders referenced in function "private: virtual bool __cdecl Aws::Http::WinHttpSyncHttpClient::DoQueryHeaders(void *,class std::shared_ptr<class Aws::Http::HttpResponse> &,class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > &,unsigned __int64 &)const " (?DoQueryHeaders@WinHttpSyncHttpClient@Http@Aws@@EEBA_NPEAXAEAV?$shared_ptr@VHttpResponse@Http@Aws@@@std@@AEAV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@5@AEA_K@Z)
aws-cpp-sdk-core.lib(WinINetConnectionPoolMgr.obj) : error LNK2019: unresolved external symbol __imp_InternetConnectA referenced in function "private: virtual void * __cdecl Aws::Http::WinINetConnectionPoolMgr::CreateNewConnection(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class Aws::Http::WinConnectionPoolMgr::HostConnectionContainer &)const " (?CreateNewConnection@WinINetConnectionPoolMgr@Http@Aws@@EEBAPEAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAVHostConnectionContainer@WinConnectionPoolMgr@23@@Z)
aws-cpp-sdk-core.lib(WinHttpConnectionPoolMgr.obj) : error LNK2019: unresolved external symbol __imp_WinHttpConnect referenced in function "private: virtual void * __cdecl Aws::Http::WinHttpConnectionPoolMgr::CreateNewConnection(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class Aws::Http::WinConnectionPoolMgr::HostConnectionContainer &)const " (?CreateNewConnection@WinHttpConnectionPoolMgr@Http@Aws@@EEBAPEAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAVHostConnectionContainer@WinConnectionPoolMgr@23@@Z)
src\gstawscredentials-1.0.dll : fatal error LNK1120: 66 unresolved externals
[7/12] Compiling C++ object src/libmultipartuploader.a.p/gsts3multipartuploader.cpp.obj
ninja: build stopped: subcommand failed.
@louisharris
Copy link
Contributor

Hey @jawilson, this gstreamer plugin was not initially intended for use on Windows, however theres no reason this should not be able to be built on Windows. I've tried replicating your build steps and I'm also running into errors, but I'm not able to replicate the exact build error message you've shown here yet (I'm getting filepath parsing issues instead). I'll try get around these issues and get back to you soon once I can reproduce the error.

@jawilson
Copy link
Contributor Author

jawilson commented Mar 1, 2021

Thanks @louisharris led me know if there is anything I can do to help.

@loganek
Copy link
Member

loganek commented Mar 11, 2021

Hey @jawilson just out of curiosity, did you build AWS SDK with the same compiler you use for building the GStreamer plugin? C++ doesn't standarize ABI (e.g. mangling can be different across different compilers), so that might be a reason why the linker couldn't find those symbols.

@jawilson
Copy link
Contributor Author

jawilson commented Apr 5, 2021

@loganek yes, everything is being build with MSVC 2019. While different compilers would explain static linking issues, I'm not sure why it's failing to find aws-cpp-sdk-sts.lib at all.

@btgoodwin
Copy link
Contributor

I'm in a similar situation as @jawilson.

When I attempt the first route to building aws-cpp-sdk, it installs pkg-config .pc files that indicate the resulting libraries will be installed in c:\aws-cpp-sdk-all\lib, however they're installed in ../bin. This is what's causing the failure to find the library aws-cpp-sdk-sts.lib, for example.

If you manually patch the affected .pc file(s), you wind up at linker problems similar to the second attempt.

Moreover, the linker starts spitting warnings that the library architecture x64 is different than the target machine type of x86 as it tries to link back to the aws-cpp-sdk and gstreamer libraries. There seems to be something funny there in the detected machine type via meson for this repository, amazon-s3-gst-plugin vs. the aws-cpp-sdk's CMAKE approach that we also might want to reconcile.

@btgoodwin
Copy link
Contributor

Going the second route, building without shared libraries, the .lib files are now installed in lib (vs. bin), however because of the cmake configuration, the package configuration files are no longer generated or installed. I think the only way that second route would have worked is if the installation directory wasn't cleared out before re-building on the second attempt (so there are actually these libraries installed in both bin and lib).

I've tried having meson in this repository use the CMAKE_PREFIX_PATH however according to this, it's still broken on v 0.58.0 (related issue).

Based on that issue then, I think we're stuck letting meson use pkg-config to iron out these dependencies, which I think means patching aws-cpp-sdk (the linked issue aws/aws-sdk-cpp#1658 above) so that the package config files are both valid and produced. A comment from a collaborator on that project has in the last hour confirmed the issue.

@btgoodwin
Copy link
Contributor

btgoodwin commented May 27, 2021

When building the aws-cpp-sdk, they recommend setting preprocessor definitions for USE_IMPORT_EXPORT and USE_WINDOWS_DLL_SEMANTICS, so combined with the package config patch, we need to also add the -D options to the initial cmake configuration command. The latter will insert __declspec(dllexport) in front of public APIs which will allow the amazon-s3-gst-plugin to link (reference). The former is a question...I see it referenced in several places but when you attempt to configure it in CMake, it warns USE_IMPORT_EXPORT is unused.

Even with that set though, I still get the following LNK2001 errors:

>meson compile -C build -j 0
ninja: Entering directory `build'
[1/12] Compiling C object src/gsts3elements.dll.p/gsts3sink.c.obj
../src/gsts3sink.c(351): warning C4244: 'function': conversion from 'gsize' to 'guint', possible loss of data
[2/12] Compiling C object tests/check/s3sink.exe.p/s3sink.c.obj
../tests/check/s3sink.c(91): warning C4267: 'function': conversion from 'size_t' to 'guint32', possible loss of data
[6/12] Linking target src/gstawscredentials-1.0.dll
FAILED: src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.pdb
"link"  /MACHINE:x64 /OUT:src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.dll.p/gstawscredentials.cpp.obj "/nologo" "/release" "/nologo" "/DEBUG" "/PDB:src\gstawscredentials-1.0.pdb" "/DLL" "/IMPLIB:src\gstawscredentials-1.0.lib" "C:/aws-cpp-sdk-all/bin/aws-cpp-sdk-sts.lib" "C:/aws-cpp-sdk-all/bin/aws-cpp-sdk-core.lib" "c:/gstreamer/1.0/msvc_x86_64/lib/gstreamer-1.0.lib" "c:/gstreamer/1.0/msvc_x86_64/lib/gobject-2.0.lib" "c:/gstreamer/1.0/msvc_x86_64/lib/glib-2.0.lib" "c:/gstreamer/1.0/msvc_x86_64/lib/intl.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib"
gstawscredentials.cpp.obj : error LNK2001: unresolved external symbol "char const * const Aws::Http::CONTENT_TYPE_HEADER" (?CONTENT_TYPE_HEADER@Http@Aws@@3QBDB)
gstawscredentials.cpp.obj : error LNK2001: unresolved external symbol "char const * const Aws::Http::API_VERSION_HEADER" (?API_VERSION_HEADER@Http@Aws@@3QBDB)
src\gstawscredentials-1.0.dll : fatal error LNK1120: 2 unresolved externals
[7/12] Compiling C++ object src/libmultipartuploader.a.p/gsts3multipartuploader.cpp.obj
ninja: build stopped: subcommand failed.

EDIT: As I picked this apart in aws-cpp-sdk, the USE_WINDOWS_DLL_SEMANTICS is getting set automatically by the platform cmake file, andAWSSDK_INSTALL_AS_SHARED_LIBS is being set to match BUILD_SHARED_LIBS as it should in the included setup_cmake_find_module.cmake for the generated ConfigVesion.cmake files (like AWSSDKConfigVersion.cmake). However, the resulting non-generated AWSSDKConfig.cmake:58 is not evaluating to TRUE for me (I added a message(STATUS ... statement which I do not see in my logs).

@btgoodwin
Copy link
Contributor

Here's the build output I get if I apply the aforementioned patch (which only applies to the cpp package configs):

>meson compile -C builddir -j 0
ninja: Entering directory `builddir'
[2/12] Compiling C object src/gsts3elements.dll.p/gsts3sink.c.obj
../src/gsts3sink.c(351): warning C4244: 'function': conversion from 'gsize' to 'guint', possible loss of data
[4/12] Compiling C object tests/check/s3sink.exe.p/s3sink.c.obj
../tests/check/s3sink.c(91): warning C4267: 'function': conversion from 'size_t' to 'guint32', possible loss of data
[6/12] Linking target src/gstawscredentials-1.0.dll
FAILED: src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.pdb
"link"  /MACHINE:x64 /OUT:src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.dll.p/gstawscredentials.cpp.obj "/nologo" "/release" "/nologo" "/DEBUG" "/PDB:src\gstawscredentials-1.0.pdb" "/DLL" "/IMPLIB:src\gstawscredentials-1.0.lib" "C:/aws-cpp-sdk-all/bin/aws-cpp-sdk-sts.lib" "C:/aws-cpp-sdk-all/bin/aws-cpp-sdk-core.lib" "C:/gstreamer/1.0/msvc_x86_64/lib/gstreamer-1.0.lib" "C:/gstreamer/1.0/msvc_x86_64/lib/gobject-2.0.lib" "C:/gstreamer/1.0/msvc_x86_64/lib/glib-2.0.lib" "C:/gstreamer/1.0/msvc_x86_64/lib/intl.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib"
gstawscredentials.cpp.obj : error LNK2001: unresolved external symbol "char const * const Aws::Http::CONTENT_TYPE_HEADER" (?CONTENT_TYPE_HEADER@Http@Aws@@3QBDB)
gstawscredentials.cpp.obj : error LNK2001: unresolved external symbol "char const * const Aws::Http::API_VERSION_HEADER" (?API_VERSION_HEADER@Http@Aws@@3QBDB)
src\gstawscredentials-1.0.dll : fatal error LNK1120: 2 unresolved externals
[7/12] Compiling C++ object src/libmultipartuploader.a.p/gsts3multipartuploader.cpp.obj
ninja: build stopped: subcommand failed.

In that output we can see the C:/aws-cpp-sdk-all/bin/aws-cpp-sdk-core.lib listed in the link command which does have those two symbols exported according to dumpbin:

Dump of file c:\aws-cpp-sdk-all\bin\aws-cpp-sdk-core.lib

File Type: LIBRARY

     Exports

       ordinal    name
...
                  ?API_VERSION_HEADER@Http@Aws@@3QBDB (char const * const Aws::Http::API_VERSION_HEADER)
...
                  ?CONTENT_TYPE_HEADER@Http@Aws@@3QBDB (char const * const Aws::Http::CONTENT_TYPE_HEADER)

For giggles I tried adding to the top-level meson.build: aws_cpp_sdk_core_dep = dependency('aws-cpp-sdk-core', version : aws_cpp_sdk_req). I then added to the src/meson.build that dependency to the list for the gstawscredentials target. The result was the above linking errors were replaced with this:

>meson compile -C builddir -j 0
ninja: Entering directory `builddir'
[3/12] Compiling C object src/gsts3elements.dll.p/gsts3sink.c.obj
../src/gsts3sink.c(351): warning C4244: 'function': conversion from 'gsize' to 'guint', possible loss of data
[4/12] Compiling C object tests/check/s3sink.exe.p/s3sink.c.obj
../tests/check/s3sink.c(91): warning C4267: 'function': conversion from 'size_t' to 'guint32', possible loss of data
[6/12] Linking target src/gstawscredentials-1.0.dll
FAILED: src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.pdb
"link"  /MACHINE:x64 /OUT:src/gstawscredentials-1.0.dll src/gstawscredentials-1.0.dll.p/gstawscredentials.cpp.obj "/nologo" "/release" "/nologo" "/DEBUG" "/PDB:src\gstawscredentials-1.0.pdb" "/DLL" "/IMPLIB:src\gstawscredentials-1.0.lib" "/LIBPATH:C:/aws-cpp-sdk-all/lib" "aws-cpp-sdk-core.lib" "C:/aws-cpp-sdk-all/bin/aws-cpp-sdk-sts.lib" "C:/aws-cpp-sdk-all/bin/aws-cpp-sdk-core.lib" "C:/gstreamer/1.0/msvc_x86_64/lib/gstreamer-1.0.lib" "C:/gstreamer/1.0/msvc_x86_64/lib/gobject-2.0.lib" "C:/gstreamer/1.0/msvc_x86_64/lib/glib-2.0.lib" "C:/gstreamer/1.0/msvc_x86_64/lib/intl.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib"
LINK : fatal error LNK1181: cannot open input file 'aws-cpp-sdk-core.lib'
[7/12] Compiling C++ object src/libmultipartuploader.a.p/gsts3multipartuploader.cpp.obj
ninja: build stopped: subcommand failed.

From the above, you can see the /LIBPATH:... argument has now been added and points to where the static libraries are installed, which is not where the aws-cpp-sdk-core.lib resides (it is in bin, as you can see in the later arguments). Checking the aws-cpp-sdk-core.pc file over in lib/pkgconfig and we can see it has a different, unpatched version of the package config file.

I tried manually editing the package config file to point at bin for the shared libraries and lib for its private ones, but that only circled me back to my original state at the start of this comment: (1) the /LIBPATH argument doesn't exist and the .lib files are called out with full paths to their explicit locations.

nirbheek added a commit to nirbheek/amazon-s3-gst-plugin that referenced this issue Jan 9, 2022
Without this, gstawscredentials-1.0.lib is not generated by LINK.exe
because no symbols are exported, and compilation fails.

We can simply use the symbols exported by gstreamer in gst/gstconfig.h
to do this correctly.

Related to amzn#13
nirbheek added a commit to nirbheek/aws-sdk-cpp that referenced this issue Jan 9, 2022
Windows import libraries are installed inside ARCHIVE_DIRECTORY, not
LIBRARY_DIRECTORY. So we need to use that for libdir on Windows.

Related to amzn/amazon-s3-gst-plugin#13
nirbheek added a commit to nirbheek/aws-sdk-cpp that referenced this issue Jan 9, 2022
MSVC consumers of the shared library need to define this macro when
linking to aws-cpp-sdk-* libs, or they will get undefined reference
errors. Also doesn't hurt to define this with MinGW, so add it
unconditionally on Windows.

Related to amzn/amazon-s3-gst-plugin#13
@nirbheek
Copy link
Contributor

nirbheek commented Jan 9, 2022

Applying both these PRs will fix this issue:

aws/aws-sdk-cpp#1839

#23

@btgoodwin
Copy link
Contributor

@nirbheek Thank you. Despite being able to compile both the SDK and the plugin, I'm still stuck in that gst-inspect for example states it cannot load the module:

c:\Projects\gstreamer-plugins\amazon-s3-gst-plugin>gst-inspect-1.0.exe s3sink

(gst-inspect-1.0:3352): GStreamer-WARNING **: 14:44:54.177: Failed to load plugin 'C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gsts3elements.dll': 'C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gsts3elements.dll': The specified module could not be found.
No such element or plugin 's3sink'

I've tried setting GST_PLUGIN_PATH both to where I installed it (over next to the rest of the gstreamer plugins) as well as the local build/src path where the DLL was built. All result in the same error that it cannot load the module.

Do you have any suggestions? There were no apparent errors during the build.

@nirbheek
Copy link
Contributor

That usually happens because LoadLibrary is unable to find some DLL. Use something like https://github.com/lucasg/Dependencies to figure out what DLL is missing. I would guess that you haven't added the aws sdk DLL directory to PATH.

@btgoodwin
Copy link
Contributor

Yes, that was the problem (not having the SDK's bin directory in my PATH). Thank you!

loganek pushed a commit that referenced this issue Jan 21, 2022
Without this, gstawscredentials-1.0.lib is not generated by LINK.exe
because no symbols are exported, and compilation fails.

We can simply use the symbols exported by gstreamer in gst/gstconfig.h
to do this correctly.

Related to #13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants