microsoft / xbox-live-api

This repo contains Microsoft Xbox Live Service API (XSAPI) that enables game developers to access Xbox Live. To get access to the Xbox Live service, you can join the Xbox Live Creators Program at https://aka.ms/xblcp, or apply to the ID@Xbox program at http://www.xbox.com/en-us/Developers/id
MIT License
339 stars 105 forks source link

Unresolved Etx symbols #517

Closed error454 closed 5 years ago

error454 commented 5 years ago

I'm trying to integrate the Microsoft.Xbox.Services.XDK.Cpp.lib into a project and in the linking phase cannot seem to get these 3 symbols resolved:

1>Microsoft.Xbox.Services.140.XDK.Cpp.lib(achievement_service.obj) : error LNK2019: unresolved external symbol EtxFillCommonFields_v7 referenced in function "private: static unsigned long __cdecl xbox::services::achievements::achievement_service::event_write_achievement_update(wchar_t const *,wchar_t const *,unsigned int)" (?event_write_achievement_update@achievement_service@achievements@services@xbox@@CAKPEB_W0I@Z)
1>Microsoft.Xbox.Services.140.XDK.Cpp.lib(achievement_service.obj) : error LNK2019: unresolved external symbol EtxRegister referenced in function "public: class Concurrency::task<class xbox::services::xbox_live_result<void> > __cdecl xbox::services::achievements::achievement_service::update_achievement(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,unsigned int,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,unsigned int)" (?update_achievement@achievement_service@achievements@services@xbox@@QEAA?AV?$task@V?$xbox_live_result@X@services@xbox@@@Concurrency@@AEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@I00I@Z)
1>Microsoft.Xbox.Services.140.XDK.Cpp.lib(achievement_service.obj) : error LNK2019: unresolved external symbol EtxEventWrite referenced in function "private: static unsigned long __cdecl xbox::services::achievements::achievement_service::event_write_achievement_update(wchar_t const *,wchar_t const *,unsigned int)" (?event_write_achievement_update@achievement_service@achievements@services@xbox@@CAKPEB_W0I@Z)

I've tried building these by hand as well as using the binary versions available on nuget. I've tried using the VS2015(140) and VS2017(141) binary versions but the unresolved symbols remain. My test program can be distilled to the following simple test, just enough to touch the api but not do anything useful:

#include <xdk.h>
#include "xsapi/services.h"
//...
auto StatsManager = xbox::services::stats::manager::stats_manager::get_singleton_instance();

Am I missing anything obvious that would explain the unresolved symbols?

nighthawk31337 commented 5 years ago

Link with etwplus.lib