The optimization issue involving flocking control and obstacle avoidance behavior in continuous-time multi-agent systems is the main topic of this work. When an agent encounters an obstacle, a virtual agent is introduced to generate repulsive force, enabling the multi-agent system to navigate around obstacles smoothly. Under the local interaction between agents, a multi-agent flocking control and obstacle avoidance algorithm is proposed with utilizing adaptive distributed convex optimization. This algorithm can minimize the sum of local costs of the system. A symbolic function-based estimation method is introduced to effectively relax the constraints of the cost function. The Lyapunov approach is employed to show the stability of the multi-agent system. With the proposed algorithm, each agent can achieve flocking behavior for convex optimization in complex obstacle environments by interacting with their neighbors, virtual agents, and virtual leaders. Last but not least, simulation examples are given to further illustrate the effectiveness and efficiency of the suggested control algorithm.