2017-02-23 90 views
-1

Я слежу за учебником по разработке для компонентов foobar2000, но продолжаю получать ошибки сборки с минимальным кодом. Мое решение VS включает в себя эти проекты из foobar2000 SDK: foobar2000_component_client, foobar200_SDK и pfc.ошибки сборки сборки visual studio foobar2000

foo_playlists_tag.cpp:

#include "U:\SDK\Foobar2000-music-player\foobar2000\SDK\foobar2000.h" 
DECLARE_COMPONENT_VERSION("Playlists tagger","0.0.1","About text here"); 
VALIDATE_COMPONENT_FILENAME("foo_playlists_tag.dll"); 

Сложение Ouput:

1>------ Build started: Project: foo_playlists_tag, Configuration: Debug x64 ------ 
1> foo_playlists_tag.cpp 
1>u:\sdk\foobar2000-music-player\foobar2000\shared\fb2kdebug.h(80): warning C4838: conversion from 'int' to 'const ULONG_PTR' requires a narrowing conversion 
1>foo_playlists_tag.obj : error LNK2019: unresolved external symbol "void __cdecl pfc::myassert_win32(wchar_t const *,wchar_t const *,unsigned int)" ([email protected]@@[email protected]) referenced in function [email protected][email protected]@@@[email protected]@@Z$0 
1>foo_playlists_tag.obj : error LNK2019: unresolved external symbol "char const * __cdecl core_api::get_my_file_name(void)" ([email protected][email protected]@YAPEBDXZ) referenced in function "public: virtual void __cdecl `anonymous namespace'::componentversion_myimpl::get_file_name(class pfc::string_base &)" ([email protected][email protected][email protected]@[email protected]@@@Z) 
1>foo_playlists_tag.obj : error LNK2019: unresolved external symbol "bool __cdecl core_api::are_services_available(void)" ([email protected][email protected]@YA_NXZ) referenced in function "protected: __cdecl service_factory_base::service_factory_base(struct _GUID const &,class service_factory_base * &)" ([email protected]@[email protected][email protected]@[email protected]@Z) 
1>foo_playlists_tag.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl component_installation_validator::test_my_name(char const *)" ([email protected][email protected]@[email protected]) referenced in function "public: virtual bool __cdecl component_installation_validator_filename::is_installed_correctly(void)" ([email protected][email protected]@UEAA_NXZ) 
1>foo_playlists_tag.obj : error LNK2001: unresolved external symbol "public: static class service_factory_base * service_factory_base::__internal__list" ([email protected][email protected]@[email protected]) 
1>foo_playlists_tag.obj : error LNK2001: unresolved external symbol "public: static struct _GUID const componentversion::class_guid" ([email protected]@@[email protected]@B) 
1>foo_playlists_tag.obj : error LNK2001: unresolved external symbol "public: static struct _GUID const component_installation_validator::class_guid" ([email protected][email protected]@[email protected]@B) 
1>U:\Repositories\foo_playlists_tag\x64\Debug\foo_playlists_tag.dll : fatal error LNK1120: 7 unresolved externals 
========== Build: 0 succeeded, 1 failed, 3 up-to-date, 0 skipped ========== 

Где эти ошибки приходят? и как я могу их разрешить?

Любая помощь очень ценится.

+1

Все, что касается вопроса, должно быть в вопросе. Связывание с внешним кодом делает вопрос бесполезным, как только внешний хост перетасовывает свои ссылки. Но прежде чем вы опубликуете миллионы строк кода, которые у вас есть на этой ссылке, попробуйте создать его в [mcve]. – user4581301

+0

Спасибо за вашу конструктивную критику – Eli112358

+0

Вы не шутите о минимальном. Две линии. Определенно извиниться за snarky миллионы строк комментарий. То, что у вас есть, в основном связано с ошибками компоновщика. Убедитесь, что вы добавили всю библиотеку в Project-> Properties-> Configuration Properties-> Linker-> Input и предоставили все необходимые пути. – user4581301

ответ

0

Найдено мой ответ на hydrogenaud.io пользователем kode54:

В Visual Studio 2010, вы должны добавить все зависимости непосредственно в проект, который вы пытаетесь связать, как ссылки. Вы можете найти список ссылок в диалоговом окне «Свойства» для проекта в разделе «Общие свойства», «Рамки и ссылки». Диалог «Зависимости» старого стиля, похоже, не функционирует для этой цели в прошлом Visual Studio 2008.

Благодарим за помощь; помог мне найти этот файл lib.

 Смежные вопросы

  • Нет связанных вопросов^_^