[問題] unresolved external symbol _main(已解決)
開發平台(Platform):
Winxp sp3 用VC6sp6
問題(Question):
小弟在練習使用自己Build的library,就是.lib檔
用的code是MSDN所提供的(雖然它上面最低版本是2005的了),再稍做修改
build整個project 出現以下error
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
在網路上找解決辦法是說把project->setting->link
subsystem:windows改成subsystem:console
但改了後變成
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
查到的資料說會造成error的原因是因為上面的更改
小弟我整個不知道怎麼辦
程式碼(Code):(請善用置底文網頁, 記得排版)
// MyMathFunction.cpp
// compile with: /c /EHsc
// post-build command: lib MathFuncsLib.obj
#include "MyMathFunction.h"
#include <stdexcept>
using namespace std;
namespace MathFuncs
{
double MyMathFuncs::Add(double a, double b)
{
return a + b;
}
double MyMathFuncs::Subtract(double a, double b)
{
return a - b;
}
double MyMathFuncs::Multiply(double a, double b)
{
return a * b;
}
double MyMathFuncs::Divide(double a, double b)
{
if (b == 0)
{
throw new invalid_argument("b cannot be zero!");
}
return a / b;
}
}
// MyMathFunction.h
namespace MathFuncs
{
class MyMathFuncs
{
public:
// Returns a + b
static double Add(double a, double b);
// Returns a - b
static double Subtract(double a, double b);
// Returns a * b
static double Multiply(double a, double b);
// Returns a / b
// Throws DivideByZeroException if b is 0
static double Divide(double a, double b);
};
}
以上build成lib檔
// Mainexe.cpp
// compile with: /c /EHsc
// post-build command: lib MathFuncsLib.obj
#include "MyMathFunction.h"
#include <stdexcept>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
namespace MathFuncs
{
double MyMathFuncs::Add(double a, double b)
{
return a + b;
}
double MyMathFuncs::Subtract(double a, double b)
{
return a - b;
}
double MyMathFuncs::Multiply(double a, double b)
{
return a * b;
}
double MyMathFuncs::Divide(double a, double b)
{
if (b == 0)
{
throw new invalid_argument("b cannot be zero!");
}
return a / b;
}
}
int main()
{
return 0;
}
subsystem:windows
http://ppt.cc/fjFQ
subsystem:console
http://ppt.cc/J08k
P.s
當初新增專案時,我是選擇WINDOWS APPLICATION 然後EMPTY PROJECT
project -> setting -> c/c++ processor defition 我也有試著改過_WINDOWS _CONSOLE
試著跟上面排列組合還是沒有解決。
其實我沒有很懂這方面的原由,讓各位見笑了,但很誠心想解決問題
另外我是第一次PO文,若有格式不合,請麻煩大大們指正,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.101.125
→
10/27 18:05, , 1F
10/27 18:05, 1F
→
10/27 18:07, , 2F
10/27 18:07, 2F
※ 編輯: roiafafa 來自: 140.116.101.125 (10/27 21:28)
→
10/27 21:29, , 3F
10/27 21:29, 3F
→
10/28 02:02, , 4F
10/28 02:02, 4F
→
10/28 02:06, , 5F
10/28 02:06, 5F
→
10/28 02:15, , 6F
10/28 02:15, 6F
→
10/28 08:58, , 7F
10/28 08:58, 7F
→
10/28 08:59, , 8F
10/28 08:59, 8F
→
10/28 09:00, , 9F
10/28 09:00, 9F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章