我在使用第三方DLL,庫和頭文件時遇到問題。我試圖調用一個函數,讓它返回一個沒有運氣的值。 這是假設要調用的函數。C++通過引用傳遞類對象?
布爾COAuthSDK :: GetRequestToken(CClientDetails & objClientDetails)
它有什麼需要
名稱IN/OUT說明 m_environment在可選此信息。可能的值是SANDBOX(默認)和LIVE。 m_strConsumerKey IN的OAuth消費者密鑰由E * TRADE 提供m_strConsumerSecret由E * TRADE m_strToken由OUT功能成功的返回 m_strTokenSecret通過OUT如果成功 m_strCallback在可選函數返回提供OAuth用戶端密鑰;默認值是「oob」
這是COAuthSDK標頭。
#ifndef _OAUTHSDK_H_INCLUDED_
#define _OAUTHSDK_H_INCLUDED_
#include "ETCOMMON\CommonDefs.h"
#include "ETCOMMON\OAuthHelper.h"
using namespace std;
#ifdef OAUTH_LIBRARY_EXPORT // inside DLL
# define OAUTH_API __declspec(dllexport)
#else //outside DLL
# define OAUTH_API __declspec(dllimport)
#endif //OAUTH_LIBRARY_EXPORT
class OAUTH_API COAuthSDK
{
public:
COAuthSDK(void);
virtual ~COAuthSDK(void);
bool GetRequestToken(CClientDetails &objClientDetails) throw (...);
bool GetAccessToken(CClientDetails &objClientDetails,string strVerifier) throw (...);
void RenewToken(CClientDetails &objClientDetails) throw (...);
void RevokeToken(CClientDetails &objClientDetails) throw (...);
string AuthorizeUrl(CClientDetails &objClientDetails) throw (...);
string GetProtectedResourse(CClientDetails &objClientDetails,string strUrl, HttpMethodConstants httpMethod = GETMethod, string postParameters = NULL) throw (...);
};
#endif//_OAUTHSDK_H_INCLUDED_
和CClientDetails頭
#pragma once
#ifndef _CLIENTDETAILS_H_INCLUDED_
#define _CLIENTDETAILS_H_INCLUDED_
using namespace std;
#include "CommonDefs.h"
#ifdef COMMON_LIBRARY_EXPORT // inside DLL
# define COMMON_API __declspec(dllexport)
#else // outside DLL
# define COMMON_API __declspec(dllimport)
#endif // COMMON_LIBRARY_EXPORT
class COMMON_API CClientDetails
{
public:
CClientDetails();
CClientDetails(string strConsumerKey,string strConsumerSecret,Environment environment);
virtual ~CClientDetails();
Environment GetEnv();
void SetEnv(Environment env);
string GetConsumerKey();
void SetConsumerKey(string consumerKey);
string GetConsumerSecret();
void SetConsumerSecret(string consumerSecret);
string GetToken();
void SetToken(string token);
string GetTokenSecret();
void SetTokenSecret(string tokenSecret);
private :
Environment m_environment;
string m_strConsumerKey;
string m_strConsumerSecret;
string m_strToken;
string m_strTokenSecret;
string m_strCallback;
};
#endif//_CLIENTDETAILS_H_INCLUDED
和我的主要CPP。
int _tmain(int argc, _TCHAR* argv[]){CClientDetails clientDetails;
CClientDetails objClientDetails;
GetRequestToken(CClientDetails &objClientDetails);
objClientDetails.SetEnv(SANDBOX);
objClientDetails.SetConsumerKey("1f5328f725dee654e0a4499f161b8fe4c6e");
objClientDetails.SetConsumerSecret("d39a8043cc0c7686920fd0655e47281e6a5");
objClientDetails.GetToken();
objClientDetails.GetTokenSecret();
cin.get();
cin.get();
return 0;
}`
當我嘗試建立功能它說,它在DLL中的,所以我知道我必須調用它。如果有人可以幫助,將不勝感激。如果需要,這裏是建立網站的鏈接https://us.etrade.com/ctnt/dev-portal/getContent?contentUri=V0_Code-SDKGuides-VC
哦,看,另一個庫使用保留的標識符。 – chris