64,637
社区成员
发帖
与我相关
我的任务
分享
cmake -G "Visual Studio 16 2019" -A Win32 CMakeLists.txt
这样生成的项目文件就是Win32 平台了一般vs里调成32位就行了 有些会让执行cmake的时候键入一些选项,让你选择构建静态库还是动态库
有些会让执行cmake的时候键入一些选项,让你选择构建静态库还是动态库
有些会让执行cmake的时候键入一些选项,让你选择构建静态库还是动态库
[quote=引用 4 楼 管理員的回复:]还会提示 dll 无效。但是生成的例子都可以运行的啊,example.execl test.cpp /LD muparser.dll
/out:test.dll /dll /implib:test.lib test.obj muparser.dll muparser.dll : fatal error LNK1107: 文件无效或损坏: 无法在 0x370 处读取
#include <iostream>
#include "muParser.h"
double MySqr(double a_fVal) { return a_fVal * a_fVal; }
int main(int argc, char* argv[])
{
try
{
double var_a = 1;
mu::Parser p;
mu::string_type(wchar_t("a"));
p.DefineVar("a", &var_a);
p.DefineFun("MySqr", MySqr);
p.SetExpr(std::basic_string<std::string>("MySqr(a)*_pi+min(10,a)"));
for (std::size_t a = 0; a < 100; ++a)
{
var_a = a; // Change value of variable a
std::cout << p.Eval() << std::endl;
}
}
catch (mu::Parser::exception_type& e)
{
std::cout << e.GetMsg() << std::endl;
}
return 0;
}
还会提示 dll 无效。但是生成的例子都可以运行的啊,example.execl test.cpp /LD muparser.dll
/out:test.dll /dll /implib:test.lib test.obj muparser.dll muparser.dll : fatal error LNK1107: 文件无效或损坏: 无法在 0x370 处读取
cl test.cpp /LD muparser.dll
还会提示 dll 无效。但是生成的例子都可以运行的啊,example.exe
/out:test.dll
/dll
/implib:test.lib
test.obj
muparser.dll
muparser.dll : fatal error LNK1107: 文件无效或损坏: 无法在 0x370 处读取
有些会让执行cmake的时候键入一些选项,让你选择构建静态库还是动态库
#include "muParser.h"
#include "stdlib.h"
using namespace mu;
int main()
{
double var_a = 1;
mu::Parser p;
p.SetExpr("3*3+1-2");
std::cout << p.Eval();
}
始终编译不成功:
cl test.cpp
test.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: doub
le __thiscall mu::ParserBase::Eval(void)const " (__imp_?Eval@ParserBase@mu@@QBEN
XZ),函数 _main 中引用了该符号
test.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void
__thiscall mu::ParserBase::SetExpr(class std::basic_string<char,struct std::cha
r_traits<char>,class std::allocator<char> > const &)" (__imp_?SetExpr@ParserBase
@mu@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z),函
数 _main 中引用了该符号
test.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __th
iscall mu::Parser::Parser(void)" (__imp_??0Parser@mu@@QAE@XZ),函数 _main 中引用
了该符号
test.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virt
ual __thiscall mu::Parser::~Parser(void)" (__imp_??1Parser@mu@@UAE@XZ),函数 _ma
in 中引用了该符号
muparser.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“x86”冲突
test.exe : fatal error LNK1120: 4 个无法解析的外部命令