2012-02-02 35 views
5

Tôi có hai dự án trong giải pháp của mình; một trong đó xây dựng một lib tĩnh, một trong đó sử dụng nó và kiểm tra nó.Visual Studio 2010 - lỗi liên kết trong các chức năng độc lập

Tôi đã gặp các lỗi liên kết này (2019) khi sử dụng chức năng này trong ứng dụng thử nghiệm của mình ... nhưng tôi có thể liên kết các nội dung được khai báo khác (lớp học soley) mà không gặp sự cố.

Các thử nghiệm ứng dụng phụ thuộc vào lib tĩnh, và nó có tham chiếu đến nó cũng vì thế nó nên liên kết (tôi chỉ nhận được rằng lỗi mối liên kết cũng)

Tại sao điều này? Tui bỏ lỡ điều gì vậy? Tôi không thể nghĩ ra bất cứ điều gì khác mà có thể đi sai.

PortableTime.h

#ifndef _PORTABLE_TIME_H 
#define _PORTABLE_TIME_H 

#if defined _WIN32 || _WIN64 
#include <WinSock2.h> 
#else 
#include <time.h> 
#endif 

#include <stdint.h> 

uint64_t GetTimeSinceEpoch(); 

#endif 

PortableTime.cpp

#include "PortableTime.h" 

uint64_t GetTimeSinceEpoch() 
{ 
    #if defined _WIN32 || _WIN64 
     return (uint64_t)timeGetTime(); 
    #else 
     struct timeval tv; 
     gettimeofday(&tv, 0); 
     return (((uint64_t)tv.tv_sec)*(uint64_t)1000) + (((uint64_t)tv.tv_usec)/(uint64_t)1000); 
    #endif 
} 
+1

Lỗi nào bạn nhận được? –

+0

'lỗi LNK2001: biểu tượng bên ngoài chưa được giải quyết __imp__timeGetTime @' Tôi đoán – LihO

Trả lời

16

timeGetTime function đòi hỏi thư viện Winmm.lib, vì vậy bạn phải xác định nó trong phụ thuộc bổ sung.

Thuộc tính cấu hình -> Trình liên kết -> Đầu vào -> Phụ thuộc bổ sung.

+0

Aha! đã đóng đinh nó, cảm ơn bạn! – KaiserJohaan

+0

Bạn được chào đón;) – LihO