Форум программистов, компьютерный форум CyberForum.ru

Maya APi, ошибка "Cannot open include file. No such file or directory" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ вывести на экран границы целочисленных типов http://www.cyberforum.ru/cpp-beginners/thread357490.html
вывести на экран границы целочисленных типов. При этом нельзя применять константы границ типов, определенных в файле limits.h
C++ Создание службы которая будет выводить на рабочий стол Надпись Необходимо на visual studio написать службу которая будет выводить на рабочий стол надпись http://www.cyberforum.ru/cpp-beginners/thread357487.html
C++ Определить, попадает ли точка в заштрихованную область
задали координаты точки (х,у) на плоскости, определить попадает ли точка в заштрихованную область на рисунке. Принадлежность точки границы понимать как принадлежность области.
Даны три числа, упорядочить их по возрастанию (не используя массивы) C++
дано 3 числа. упорядочить их по возрастанию при этом не использовать циклы и массивы.
C++ помогите з задачей на итераторы http://www.cyberforum.ru/cpp-beginners/thread357478.html
Ввести последовательность действительных чисел и поместить их в указанный список L. Описать функцию, которая вставляет в непустой список L, элементы которого упорядочены по убыванию, новый элемент E так, чтобы сохранить упорядоченность. вот мои догадки, но почемуто не сортирует и надо сделать через итераторы,а я в них не силен.помогите пожалусто. #include <iostream> #include <string>...
C++ Переворот массива относительно главной диагонали (транспонирование) 1) Нужно написать программу которая будет выводить массив int m={...}; Вывести массив на экран и затем переворот массива относительно главной диагонали (транспонирование). 2) Все тоже самое как в первом только значения N и М вводятся с клавиатуры. 3) Все тоже самое как в первом только теперь создать функцию Void displayMatrix (int**m, int N, int M); подробнее

Показать сообщение отдельно
iNOD
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 32
15.07.2013, 20:59  [ТС]     Maya APi, ошибка "Cannot open include file. No such file or directory"
Привет всем, вот решил оживить эту ветку При компиляции выдает ошибки.

C++
1
2
1>LINK : error LNK2001: неразрешенный внешний символ "initializePlugin"
1>Release\rlngNode.lib : fatal error LNK1120: 1 неразрешенных внешних элементов
Код проверил сног до головы несколько раз, все вроде правильно, библиотеки все подключены, а результат один и тот же. Вот сам код.

rlngNode.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>     // needed to compile on Windows (if you work with Unix remove this include)
#include <stdlib.h> 
#include <stdio.h> 
#include <string.h>
 
#include <maya/MGlobal.h>
#include <maya/MPxCommand.h>
#include <maya/MString.h>
#include <maya/MFnPlugin.h>
#include <maya/MStatus.h>
#include <maya/MArgList.h>
#include <maya/MSyntax.h>
#include <maya/MIOStream.h>
#include <maya/MDGModifier.h>
#include <maya/MSelectionList.h>
#include <maya/MItSelectionList.h>
#include <maya/MDagPath.h>
#include <maya/MFnTransform.h>
#include <maya/MFnDependencyNode.h>
#include <maya/MObject.h>
#include <maya/MPxNode.h>
#include <maya/MTypeId.h>
#include <maya/MDataBlock.h>
#include <maya/MPlug.h>
#include <maya/MDataHandle.h>
#include <maya/MFnNumericAttribute.h>
#include <maya/MFnNumericData.h>
#include <maya/MFnUnitAttribute.h>
#include <maya/MString.h>
#include <maya/MFn.h>
 
using namespace std;
 
class rlngCmd : public MPxCommand{
public:
    virtual MStatus doIt(const MArgList&);
    virtual MStatus redoIt();
    virtual MStatus undoIt();
    bool isUndoable() const {return true;}
 
    static MSyntax newSyntax();
    static void *creator(){return new rlngCmd;} 
private:
    MDGModifier dgMod;
};
 
class rlngNode : public MPxNode{
public:
    virtual MStatus compute(const MPlug& plug, MDataBlock& data);
    static void *creator();
    static MStatus initialize();
 
    static MObject distance;
    static MObject radius;
    static MObject rotation;
 
    static MTypeId id;
};
 
MTypeId rlngNode::id(0x00333);
MObject rlngNode::distance;
MObject rlngNode::radius;
MObject rlngNode::rotation;
 
const double PI = 3.1415926535;
const double TWOPI = 2.0 * PI;
rlngNodeCmd.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <rlngNode.h>
 
MStatus rlngCmd::redoIt(){
    return dgMod.doIt();
} 
 
MStatus rlngCmd::undoIt(){
    return dgMod.undoIt();
}
 
MStatus rlngCmd::doIt(const MArgList &args){
    MStatus status;
    MSelectionList selection;
    MGlobal::getActiveSelectionList(selection);
 
    MDagPath dagPath;
    MFnTransform transformFn;
    MString name;
 
    MItSelectionList iter(selection, MFn::kTransform);
 
    for(; !iter.isDone(); iter.next())
    {
        iter.getDagPath(dagPath);
        transformFn.setObject(dagPath);
 
        MObject rlngNodeObj = dgMod.createNode("rlngNode");
 
        MFnDependencyNode depNodeFn(rlngNodeObj);
 
        dgMod.connect(transformFn.findPlug("translateX"), depNodeFn.findPlug("distance"));
        dgMod.connect(transformFn.findPlug("translateY"), depNodeFn.findPlug("radius"));
        dgMod.connect(depNodeFn.findPlug("rotation"), transformFn.findPlug("rotateZ"));
    }
    return redoIt();
}
 
MStatus rlngNode::compute(const MPlug& plug, MDataBlock& data){
    MStatus stat;
 
    if(plug == rotation)
    {
        MDataHandle disData = data.inputValue(distance);
        MDataHandle radData = data.inputValue(radius);
 
        double dist = disData.asDouble();
        double rad = radData.asDouble();
 
        MDataHandle rotData = data.outputValue(rotation);
 
        rotData.set(-dist / rad);
        data.setClean(plug);
    }
    else
        stat = MS::kUnknownParameter;
 
    return stat;
}
 
void *rlngNode::creator(){
    return new rlngNode();
}
 
MStatus rlngNode::initialize(){
    MFnNumericAttribute nAttr;
    distance = nAttr.create("distance", "dist", MFnNumericData::kDouble, 0.0);
    radius = nAttr.create("radius", "rad", MFnNumericData::kDouble, 0.0);
 
    MFnUnitAttribute uAttr;
    rotation = uAttr.create("rotation", "rot", MFnUnitAttribute::kAngle, 0.0);
 
    addAttribute(distance);
    addAttribute(radius);
    addAttribute(rotation);
 
    attributeAffects(distance, rotation);
    attributeAffects(radius, rotation);
 
    return MS::kSuccess;
}
 
MStatus InitializePlugin(MObject obj){
    MStatus stat;
    MString errStr;
    MFnPlugin pluginFn(obj, "iNOD", "0.1", "Any");
    stat = pluginFn.registerCommand("rlng", rlngCmd::creator);
    
    if(!stat)
    {
        errStr = "reg Cmd fail";
        goto error;
    }
 
    stat = pluginFn.registerNode("rlngNode", rlngNode::id, rlngNode::creator, rlngNode::initialize);
 
    if(!stat)
    {
        errStr = "reg Node fail";
        goto error;
    }
    return stat;
 
error:
 
    stat.perror(errStr);
    return stat;
}
 
MStatus uninitializePlugin(MObject obj){
    MStatus stat;
    MString errStr;
    MFnPlugin plugunFn(obj);
 
    stat = plugunFn.deregisterCommand("rlng");
 
    if(!stat)
    {
        errStr = "dereg Cmd fail";
        goto error;
    }
 
    stat = plugunFn.deregisterNode(rlngNode::id);
 
    if(!stat)
    {
        errStr = "dereg Node fail";
        goto error;
    }
 
    return stat;
 
error:
 
    stat.perror(errStr);
    return stat;
}
 
Текущее время: 02:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru