Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Se você estiver usando a função inlining, você deve:
Ter o embutido funções implementadas no arquivo de cabeçalho que você incluir.
Inlining de ter ativado ON no arquivo de cabeçalho.
// LNK2019_function_inline.cpp
// compile with: /c
// post-build command: lib LNK2019_function_inline.obj
#include <stdio.h>
struct _load_config_used {
void Test();
void Test2() { printf("in Test2\n"); }
};
void _load_config_used::Test() { printf("in Test\n"); }
E, em seguida,
// LNK2019_function_inline_2.cpp
// compile with: LNK2019_function_inline.lib
struct _load_config_used {
void Test();
void Test2();
};
int main() {
_load_config_used x;
x.Test();
x.Test2(); // LNK2019
}
Se você estiver usando o #pragma inline_depth compilador diretiva, verifique se você tiver um valor de 2 ou mais definida. Um valor zero será desligado inlining.Também verifique se que você está usando o /Ob1 ou /Ob2 Opções do compilador.
Combinação de opções de compilar in-line e in-line em módulos diferentes, algumas vezes, pode causar problemas.Se uma biblioteca de C++ é criada com a função inlining ativado (/ Ob1 or / Ob2) mas o correspondente arquivo de cabeçalho descrever as funções tem inlining desativada (opção Nenhuma), erro LNK2001 será exibida.As funções não obtiver embutidas no código do arquivo de cabeçalho, mas, pois estão no arquivo de biblioteca não há nenhum endereço resolver a referência.
Da mesma forma, um projeto que usa a função inlining ainda define as funções em um arquivo .cpp em vez de no cabeçalho do arquivo também terá LNK2019.O arquivo de cabeçalho está incluído em todos sistema autônomo lugares considerado apropriado, mas sistema autônomo funções são somente entre linhas quando o arquivo .cpp passa pelo compilador; portanto, o vinculador vê sistema autônomo funções sistema autônomo itens não resolvidos externos quando usado em outros módulos.
// LNK2019_FIP.h
struct testclass {
void PublicStatMemFunc1(void);
};
e, em seguida,
// LNK2019_FIP.cpp
// compile with: /c
#include "LNK2019_FIP.h"
inline void testclass::PublicStatMemFunc1(void) {}
e, em seguida,
// LNK2019_FIP_2.cpp
// compile with: LNK2019_FIP.cpp
// LNK2019 expected
#include "LNK2019_FIP.h"
int main() {
testclass testclsObject;
// module cannot see the implementation of PublicStatMemFunc1
testclsObject.PublicStatMemFunc1();
}