清江 发表于 2014-11-18 16:35:51

调试代码时出错(问题已解决!)

本帖最后由 清江 于 2014-11-20 10:45 编辑

问题已经解决,请看本帖第7楼!

我在做手工创建工程开发环境的练习时,按照课件中的方法进行了配置,并且复制了课件3文件中第6页的代码到VS2012中创建的WIN32项目里面,在调试代码的时候显示失败了,在代码里面也没有找到问题所在,不知是哪里出了问题。错误信息如下图:



下面是全部的代码文件:
/* Include files */
#include <uf_defs.h>
#include <NXOpen/Session.hxx>
#include <uf.h>
#include <uf_ui.h>

using namespace NXOpen;

// Explicit Activation
// This entry point is used to activate the application explicitly, as in
// "File->Execute-> NX Open..."
extern "C" DllExport void ufusr( char *parm, int *returnCode, int rlen )
{
/* TODO: Add your NXOpen application code here */
               
      uc1601("您好!欢迎您的到来。",1);
      

      }
//---------------------------------------------------------------------------
// This method specifies how a shared image is unloaded from memory
// within NX. This method gives you the capability to unload an
// internal NX Open application or user exit from NX
//--------------------------------------------------------------------------
extern "C" DllExport int ufusr_ask_unload( void )
{
//return (int)Session::LibraryUnloadOptionExplicitly;
return (int)Session::LibraryUnloadOptionImmediately;
//return (int)Session::LibraryUnloadOptionAtTermination;
}



admin 发表于 2014-11-18 17:24:03

环境没有配置正确等我发视频 看视频

清江 发表于 2014-11-19 15:51:24

本帖最后由 清江 于 2014-11-19 16:41 编辑

admin 发表于 2014-11-18 17:24
环境没有配置正确等我发视频 看视频
之前代码确实不全面,后来按照视频里面的步骤增加了:
        UF_initialize();
       
    uc1601("Hello Jeff!",1);
       
        UF_terminate();


而且还修改了环境为X64,但是视频中你的可以正常生成,我 这边还是显示失败。

1>------ 已启动生成: 项目: Win32Project1, 配置: Debug x64 ------
1>lesson.cpp
1>   正在创建库 D:\plmhomeTrainning\code\Win32Project1\x64\Debug\Win32Project1.lib 和对象 D:\plmhomeTrainning\code\Win32Project1\x64\Debug\Win32Project1.exp
1>lesson.obj : error LNK2019: 无法解析的外部符号 __imp_uc1601,该符号在函数 ufusr 中被引用
1>D:\plmhomeTrainning\code\Win32Project1\x64\Debug\Win32Project1.dll : fatal error LNK1120: 1 个无法解析的外部命令
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========




admin 发表于 2014-11-19 17:04:49

清江 发表于 2014-11-19 07:51
之前代码确实不全面,后来按照视频里面的步骤增加了:
        UF_initialize();
       


改了 还要重新设置加库

你检查下!

leaf 发表于 2014-11-20 00:05:40

UF_initialize();
         
uc1601("Hello Jeff!",1);
         
UF_terminate();
请问ufun的函数在调用之前得有UF_initialize(),调用之后得有UF_terminate()???

清江 发表于 2014-11-20 10:40:48

leaf 发表于 2014-11-20 00:05
UF_initialize();
         
uc1601("Hello Jeff!",1);


视频里面老师是这样操作的,好像说是要用UFUN函数的话就要有这两行代码,给予许可的权限,你看下视频里面的内容。

清江 发表于 2014-11-20 10:42:28

在大家的帮助下问题已经找到了,是我在附加依赖库里面的那个libugopenint.lib文件写错了,改正以后就OK了。谢谢!
页: [1]
查看完整版本: 调试代码时出错(问题已解决!)